mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-09-11 13:20:04 +00:00
Compare commits
No commits in common. "124d6b7edebe4ba098b366b41d7d75404dc7f683" and "dc92ba46c97df4d06850c1acb692b6dbac3e7cab" have entirely different histories.
124d6b7ede
...
dc92ba46c9
34 changed files with 343 additions and 177 deletions
299
flake.lock
generated
299
flake.lock
generated
|
@ -2,16 +2,22 @@
|
|||
"nodes": {
|
||||
"catppuccin": {
|
||||
"inputs": {
|
||||
"catppuccin-v1_1": "catppuccin-v1_1",
|
||||
"catppuccin-v1_2": "catppuccin-v1_2",
|
||||
"home-manager": "home-manager",
|
||||
"home-manager-stable": "home-manager-stable",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nuscht-search": "nuscht-search"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737579274,
|
||||
"narHash": "sha256-8kBIYfn8TI9jbffhDNS12SdbQHb9ITXflwcgIJBeGqw=",
|
||||
"lastModified": 1736069220,
|
||||
"narHash": "sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "06f0ea19334bcc8112e6d671fd53e61f9e3ad63a",
|
||||
"rev": "8eada392fd6571a747e1c5fc358dd61c14c8704e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -20,6 +26,52 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"catppuccin-v1_1": {
|
||||
"locked": {
|
||||
"lastModified": 1734055249,
|
||||
"narHash": "sha256-pCWJgwo77KD7EJpwynwKrWPZ//dwypHq2TfdzZWqK68=",
|
||||
"rev": "7221d6ca17ac36ed20588e1c3a80177ac5843fa7",
|
||||
"revCount": 326,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.1.1/0193bdc0-b045-7eed-bbec-95611a8ecdf5/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/catppuccin/nix/1.1.%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"catppuccin-v1_2": {
|
||||
"locked": {
|
||||
"lastModified": 1734728407,
|
||||
"narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=",
|
||||
"rev": "23ee86dbf4ed347878115a78971d43025362fab1",
|
||||
"revCount": 341,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/catppuccin/nix/1.2.%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"elanmoc2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731852525,
|
||||
"narHash": "sha256-t3wgLs3I38Ijc/JuxUKuVGZFF3eeYeFNibps5wbSsv4=",
|
||||
"owner": "sandptel",
|
||||
"repo": "elanmoc2",
|
||||
"rev": "8b049aa1f184b34b7f6829472b10ea8453bd5806",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "sandptel",
|
||||
"repo": "elanmoc2",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -57,11 +109,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -72,7 +124,7 @@
|
|||
},
|
||||
"flake-utils-plus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2"
|
||||
"flake-utils": "flake-utils_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715533576,
|
||||
|
@ -93,6 +145,24 @@
|
|||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||
|
@ -110,16 +180,16 @@
|
|||
"ghostty": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"zig": "zig"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738275804,
|
||||
"narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=",
|
||||
"lastModified": 1736402835,
|
||||
"narHash": "sha256-SiG2B2KfU4BIOggrJJa9nKoagXtLXWWo9vXJ88a+ls8=",
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"rev": "c5508e7d1922842ecd3160ea73b97da1282168b3",
|
||||
"rev": "2d7706ec4f7042b9072d3b8ac8ea496dee209bc8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -130,11 +200,11 @@
|
|||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1737751639,
|
||||
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
|
||||
"lastModified": 1736283893,
|
||||
"narHash": "sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
|
||||
"rev": "4f339f6be2b61662f957c2ee9eda0fa597d8a6d6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -147,15 +217,16 @@
|
|||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738275749,
|
||||
"narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=",
|
||||
"lastModified": 1734622215,
|
||||
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9",
|
||||
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -164,39 +235,125 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager-stable": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734366194,
|
||||
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736366465,
|
||||
"narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"catppuccin",
|
||||
"nuscht-search",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nuscht-search",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1734128415,
|
||||
"narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
|
||||
"lastModified": 1711997201,
|
||||
"narHash": "sha256-J71xzQlVYsjagA4AsVwRazhBh2rZrPpKvxTgs6UzL7c=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
|
||||
"rev": "b76fa31346db7fc958a9898f3c594696ca71c4fd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gmodena",
|
||||
"ref": "latest",
|
||||
"ref": "v0.4.1",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1738136902,
|
||||
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
|
||||
"lastModified": 1737062831,
|
||||
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c",
|
||||
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1734600368,
|
||||
"narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1733423277,
|
||||
"narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
|
||||
|
@ -228,16 +385,57 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1736241350,
|
||||
"narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuscht-search": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733773348,
|
||||
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"catppuccin": "catppuccin",
|
||||
"elanmoc2": "elanmoc2",
|
||||
"ghostty": "ghostty",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"snowfall-lib": "snowfall-lib",
|
||||
"sops-nix": "sops-nix"
|
||||
"sops-nix": "sops-nix",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
},
|
||||
"snowfall-lib": {
|
||||
|
@ -269,11 +467,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737411508,
|
||||
"narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=",
|
||||
"lastModified": 1736203741,
|
||||
"narHash": "sha256-eSjkBwBdQk+TZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "015d461c16678fc02a2f405eb453abb509d4e1d4",
|
||||
"rev": "c9c88f08e3ee495e888b8d7c8624a0b2519cb773",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -312,12 +510,47 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736267677,
|
||||
"narHash": "sha256-7FH/gFShKOzf46yKqA4VWAaWxuyHBRnXOdaffbTxVo4=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "c96c6a1ebf1bea782f9528dc316d986a6087ebc0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"ghostty"
|
||||
],
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
|
|
|
@ -17,11 +17,17 @@
|
|||
# Hardware specific tweaks and performance optimizations.
|
||||
hardware = { url = "github:NixOS/nixos-hardware/master"; };
|
||||
|
||||
# Support for ElanTech fingerprint scanner 04f3:0c00
|
||||
elanmoc2 = {
|
||||
url = "github:sandptel/elanmoc2";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Catppuccin theme nix configuration.
|
||||
catppuccin = { url = "github:catppuccin/nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||
|
||||
# Declarative management of Flatpak packages.
|
||||
nix-flatpak = { url = "github:gmodena/nix-flatpak/?ref=latest"; };
|
||||
nix-flatpak = { url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; };
|
||||
|
||||
# Apps
|
||||
ghostty = { url = "github:ghostty-org/ghostty"; };
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
{
|
||||
# Declare user packages.
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
{
|
||||
puzzlevision = {
|
||||
themes.catppuccin = {
|
||||
|
@ -22,60 +24,6 @@
|
|||
packages = [];
|
||||
};
|
||||
|
||||
programs = {
|
||||
nushell = {
|
||||
enable = true;
|
||||
|
||||
# for editing directly to config.nu
|
||||
extraConfig = ''
|
||||
let carapace_completer = {|spans|
|
||||
carapace $spans.0 nushell $spans | from json
|
||||
}
|
||||
$env.config = {
|
||||
show_banner: false,
|
||||
completions: {
|
||||
case_sensitive: false # case-sensitive completions
|
||||
quick: true # set to false to prevent auto-selecting completions
|
||||
partial: true # set to false to prevent partial filling of the prompt
|
||||
algorithm: "fuzzy" # prefix or fuzzy
|
||||
external: {
|
||||
# set to false to prevent nushell looking into $env.PATH to find more suggestions
|
||||
enable: true
|
||||
# set to lower can improve completion performance at the cost of omitting some options
|
||||
max_results: 100
|
||||
completer: $carapace_completer # check 'carapace_completer'
|
||||
}
|
||||
}
|
||||
}
|
||||
$env.PATH = ($env.PATH |
|
||||
split row (char esep) |
|
||||
prepend /home/myuser/.apps |
|
||||
append /usr/bin/env
|
||||
)
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
vi = "hx";
|
||||
vim = "hx";
|
||||
nano = "hx";
|
||||
};
|
||||
};
|
||||
|
||||
carapace.enable = true;
|
||||
carapace.enableNushellIntegration = true;
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
character = {
|
||||
success_symbol = "[➜](bold green)";
|
||||
error_symbol = "[➜](bold red)";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: look at git-sync for syncing stuff like obsidian vaults.
|
||||
programs.git-credential-oauth.enable = true;
|
||||
|
||||
|
@ -97,16 +45,17 @@
|
|||
avra
|
||||
avrdude
|
||||
jetbrains.phpstorm
|
||||
jetbrains-toolbox
|
||||
git
|
||||
nodejs_22
|
||||
bun
|
||||
devenv
|
||||
python39
|
||||
nixd
|
||||
poetry
|
||||
nil
|
||||
zed-editor
|
||||
bruno
|
||||
deno
|
||||
carapace
|
||||
|
||||
### Work
|
||||
teams-for-linux
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
in
|
||||
{
|
||||
}: with lib;
|
||||
rec {
|
||||
## Create a NixOS module option. (Stolen from Jake Hamilton)
|
||||
##
|
||||
## ```nix
|
||||
|
|
|
@ -5,14 +5,12 @@
|
|||
osConfig,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkIf mkOption;
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
cfg = config.${namespace}.desktop.gnome;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.gnome = with lib.types; {
|
||||
options.${namespace}.desktop.gnome = with types; {
|
||||
enabled-extensions = mkOption {
|
||||
type = listOf package;
|
||||
default = with pkgs.gnomeExtensions; [ dash-to-dock user-themes blur-my-shell appindicator unite color-picker clipboard-history ];
|
||||
|
@ -21,7 +19,7 @@ in
|
|||
};
|
||||
favorite-apps = mkOption {
|
||||
type = listOf str;
|
||||
default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "firefox.desktop" "dev.zed.Zed.desktop"];
|
||||
default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "zen.desktop" "dev.zed.Zed.desktop"];
|
||||
example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"];
|
||||
description = "Specify your favorite apps (sorted left to right).";
|
||||
};
|
||||
|
@ -44,7 +42,7 @@ in
|
|||
enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur.";
|
||||
};
|
||||
};
|
||||
wallpaper = mkOpt str (builtins.toString ./wallpapers/arcane/jinx_flare.jpg) "Specify the path of your prefered Gnome wallpaper.";
|
||||
wallpaper = mkOpt str (builtins.toString ./wallpapers/abstract/amber-d.jxl) "Specify the path of your prefered Gnome wallpaper.";
|
||||
};
|
||||
|
||||
config = mkIf osConfig.${namespace}.desktop.gnome.enable {
|
||||
|
@ -53,7 +51,7 @@ in
|
|||
dconf.settings = {
|
||||
"org/gnome/shell" = {
|
||||
favorite-apps = cfg.favorite-apps;
|
||||
enabled-extensions = lib.forEach cfg.enabled-extensions (x: x.extensionUuid);
|
||||
enabled-extensions = forEach cfg.enabled-extensions (x: x.extensionUuid);
|
||||
disabled-extensions = []; # Make sure none of our extensions are disabled on system rebuild
|
||||
};
|
||||
"org/gnome/shell/extensions/unite" = mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions) {
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 516 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.6 MiB |
|
@ -1,15 +1,15 @@
|
|||
{
|
||||
lib,
|
||||
namespace,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
palette = (pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json")).${config.catppuccin.flavor}.colors;
|
||||
in
|
||||
{
|
||||
options.palette = mkOption { type = lib.types.attrsOf lib.types.raw; };
|
||||
options.palette = mkOption { type = types.attrsOf types.raw; };
|
||||
|
||||
config = {
|
||||
inherit palette;
|
||||
|
|
|
@ -4,10 +4,8 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
# Stolen from Oli @ git.gay, basically just themes default libadwaita components.
|
||||
css = pkgs.writeTextFile {
|
||||
name = "gtk-css";
|
||||
|
|
|
@ -4,10 +4,11 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) types;
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
in
|
||||
{
|
||||
options.${namespace}.admin = with lib.types; {
|
||||
options.${namespace}.admin = with types; {
|
||||
name = mkOpt str "Jo" "The short name of the system admin.";
|
||||
full-name = mkOpt str "Johannes Reckers" "The full name of the system admin.";
|
||||
email = mkOpt str "system@thevoid.cafe" "The E-Mail of the system admin. (Used for system services by default)";
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.archetypes.server;
|
||||
in {
|
||||
options.${namespace}.archetypes.server = { enable = mkEnableOption "Enable the server archetype for your current system"; };
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.archetypes.workstation;
|
||||
in {
|
||||
options.${namespace}.archetypes.workstation = { enable = mkEnableOption "Enable the workstation archetype for your current system"; };
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.audio;
|
||||
in {
|
||||
options.${namespace}.common.audio = { enable = mkEnableOption "whether to enable common audio support and tweaks"; };
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.bluetooth;
|
||||
in {
|
||||
options.${namespace}.common.bluetooth = { enable = mkEnableOption "Enable bluetooth support on your current system"; };
|
||||
|
|
|
@ -4,12 +4,11 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
cfg = config.${namespace}.common.fonts;
|
||||
in {
|
||||
options.${namespace}.common.fonts = with lib.types; {
|
||||
options.${namespace}.common.fonts = with types; {
|
||||
enable = mkEnableOption "Enable system font management";
|
||||
fonts = mkOption {
|
||||
type = listOf package;
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.grub;
|
||||
in {
|
||||
options.${namespace}.common.grub = { enable = mkEnableOption "grub"; };
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.hardware;
|
||||
in {
|
||||
options.${namespace}.common.hardware = { enable = mkEnableOption "whether to enable common hardware support"; };
|
||||
|
|
|
@ -4,15 +4,18 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
cfg = config.${namespace}.common.kernel;
|
||||
in {
|
||||
options.${namespace}.common.kernel = {
|
||||
enable = mkEnableOption "Modify the standard kernel settings";
|
||||
version = mkOpt lib.types.str "linuxPackages_latest" "Set the kernel version to be used by your system";
|
||||
version = mkOption {
|
||||
type = types.str;
|
||||
default = "linuxPackages_latest";
|
||||
example = "linuxPackages_latest";
|
||||
description = "Set the kernel version to be used by your system";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -3,30 +3,29 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
cfg = config.${namespace}.common.locale;
|
||||
in {
|
||||
options.${namespace}.common.locale = {
|
||||
enable = mkEnableOption "whether to enable common locale tweaks";
|
||||
|
||||
language = mkOption {
|
||||
type = lib.types.str;
|
||||
type = types.str;
|
||||
default = "en_US";
|
||||
example = "en_US";
|
||||
description = "Sets the language for most text, doesn't include monetary or measurement settings";
|
||||
};
|
||||
|
||||
country = mkOption {
|
||||
type = lib.types.str;
|
||||
type = types.str;
|
||||
default = "de_DE";
|
||||
example = "de_DE";
|
||||
description = "Sets the language used for monetary or measurement settings (USD vs Euro, etc...)";
|
||||
};
|
||||
|
||||
keymap = mkOption {
|
||||
type = lib.types.str;
|
||||
type = types.str;
|
||||
default = "de";
|
||||
example = "de";
|
||||
description = "Sets the keymap to be used by the system";
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.nix;
|
||||
in {
|
||||
options.${namespace}.common.nix = {
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.shell;
|
||||
in {
|
||||
options.${namespace}.common.shell = {
|
||||
|
@ -14,8 +13,8 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.shells = with pkgs; [ nushell fish ];
|
||||
users.defaultUserShell = pkgs.nushell;
|
||||
environment.shells = with pkgs; [ fish ];
|
||||
users.defaultUserShell = pkgs.fish;
|
||||
programs.fish.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.desktop.gnome;
|
||||
in {
|
||||
options.${namespace}.desktop.gnome = { enable = mkEnableOption "gnome"; };
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.desktop.plasma;
|
||||
in {
|
||||
options.${namespace}.desktop.plasma = { enable = mkEnableOption "Whether to enable the KDE Plasma desktop environment"; };
|
||||
|
@ -18,4 +17,4 @@ in {
|
|||
|
||||
programs.kdeconnect.enable = true;
|
||||
};
|
||||
}
|
||||
}
|
|
@ -4,13 +4,12 @@
|
|||
config,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
cfg = config.${namespace}.security.yubikey;
|
||||
in
|
||||
{
|
||||
options.${namespace}.security.yubikey = with lib.types; {
|
||||
options.${namespace}.security.yubikey = with types; {
|
||||
enable = mkEnableOption "Enable the Yubikey as a security device.";
|
||||
key-id = mkOption {
|
||||
type = listOf str;
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
config,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.bluesky.pds;
|
||||
in {
|
||||
options.${namespace}.services.bluesky.pds = {
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
config,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.duckdns;
|
||||
in {
|
||||
options.${namespace}.services.duckdns = {
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
config,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.homepage;
|
||||
|
||||
homepageConfigDirectory = lib.snowfall.fs.get-file "resources/services/homepage";
|
||||
in {
|
||||
options.${namespace}.services.homepage = { enable = mkEnableOption "Enable Homepage, an intuitive dashboard for your services."; };
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
config,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.sharkey;
|
||||
in {
|
||||
options.${namespace}.services.sharkey = { enable = mkEnableOption "Enable Sharkey, the activitypub-based microblogging service."; };
|
||||
|
|
|
@ -3,15 +3,14 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
cfg = config.${namespace}.services.traefik;
|
||||
in {
|
||||
options.${namespace}.services.traefik = {
|
||||
enable = mkEnableOption "Enable the Traefik service.";
|
||||
cloudflareEmail = mkOption {
|
||||
type = lib.types.str;
|
||||
type = types.str;
|
||||
default = config.${namespace}.admin.email;
|
||||
example = "system@thevoid.cafe";
|
||||
description = "Specify the E-Mail associated with your Cloudflare account for ACME.";
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
config,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.vaultwarden;
|
||||
in {
|
||||
options.${namespace}.services.vaultwarden = { enable = mkEnableOption "Enable Vaultwarden, a self-hostable password manager."; };
|
||||
|
|
|
@ -3,10 +3,9 @@
|
|||
pkgs,
|
||||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.tools.cachix;
|
||||
in {
|
||||
options.${namespace}.tools.cachix = { enable = mkEnableOption "Enable the cachix binary cache service on your system."; };
|
||||
|
@ -15,3 +14,4 @@ in {
|
|||
environment.systemPackages = with pkgs; [ cachix ];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
|
|
|
@ -2,15 +2,17 @@
|
|||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
}: with lib; with lib.${namespace};
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
inputs.hardware.nixosModules.common-pc-laptop
|
||||
inputs.hardware.nixosModules.common-cpu-intel
|
||||
inputs.hardware.nixosModules.common-pc-laptop-ssd
|
||||
inputs.elanmoc2.nixosModules.elanmoc2
|
||||
];
|
||||
|
||||
# Configure Sops
|
||||
|
@ -27,7 +29,7 @@
|
|||
boot = {
|
||||
# Configure additional kernel modules.
|
||||
extraModulePackages = [
|
||||
pkgs.linuxKernel.packages.linux_6_12.rtl8821ce # Use custom network-card driver.
|
||||
pkgs.linuxPackages_latest.rtl8821ce # Use custom network-card driver.
|
||||
];
|
||||
|
||||
blacklistedKernelModules = [
|
||||
|
@ -44,14 +46,15 @@
|
|||
# Enable printing.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable fingerprint support for ElanTech scanner 04f3:0c00
|
||||
services.fprintd.elanmoc2.enable = true;
|
||||
|
||||
# Enable docker
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
# Set system configuration
|
||||
puzzlevision = {
|
||||
archetypes.workstation.enable = true;
|
||||
common.kernel.version = "linuxPackages_6_12";
|
||||
|
||||
security.yubikey = {
|
||||
enable = true;
|
||||
enable-agent = true;
|
||||
|
@ -64,15 +67,10 @@
|
|||
# Set trusted users (Primarily used for cachix)
|
||||
nix.settings.trusted-users = [ "root" "jo" ];
|
||||
|
||||
# Configure additional groups
|
||||
users.groups.www-data = {
|
||||
gid = 33;
|
||||
};
|
||||
|
||||
# Configure users.
|
||||
snowfallorg.users.jo.admin = true;
|
||||
users.users.jo.isNormalUser = true;
|
||||
users.users.jo.extraGroups = [ "dialout" "docker" "www-data" ];
|
||||
users.users.jo.extraGroups = [ "dialout" "docker" ];
|
||||
users.users.jo.hashedPasswordFile = config.sops.secrets."user/jo/password_hash".path;
|
||||
|
||||
# Configure home-manager
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue