mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-04-08 13:01:32 +02:00
Compare commits
5 commits
dc92ba46c9
...
124d6b7ede
Author | SHA1 | Date | |
---|---|---|---|
124d6b7ede | |||
c5283fe60b | |||
a9726ee734 | |||
18337ad778 | |||
c32bb1c696 |
34 changed files with 177 additions and 343 deletions
flake.lockflake.nix
homes/x86_64-linux
lib/module
modules
home
desktop/gnome
palette
themes/catppuccin/gnome
nixos
admin
archetypes
common
audio
bluetooth
fonts
grub
hardware
kernel
locale
nix
shell
desktop
security/yubikey
services
bluesky/pds
duckdns
homepage
sharkey
traefik
vaultwarden
tools/cachix
systems/x86_64-linux
299
flake.lock
generated
299
flake.lock
generated
|
@ -2,22 +2,16 @@
|
|||
"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": 1736069220,
|
||||
"narHash": "sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y=",
|
||||
"lastModified": 1737579274,
|
||||
"narHash": "sha256-8kBIYfn8TI9jbffhDNS12SdbQHb9ITXflwcgIJBeGqw=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "8eada392fd6571a747e1c5fc358dd61c14c8704e",
|
||||
"rev": "06f0ea19334bcc8112e6d671fd53e61f9e3ad63a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -26,52 +20,6 @@
|
|||
"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": {
|
||||
|
@ -109,11 +57,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -124,7 +72,7 @@
|
|||
},
|
||||
"flake-utils-plus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3"
|
||||
"flake-utils": "flake-utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715533576,
|
||||
|
@ -145,24 +93,6 @@
|
|||
"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=",
|
||||
|
@ -180,16 +110,16 @@
|
|||
"ghostty": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"zig": "zig"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736402835,
|
||||
"narHash": "sha256-SiG2B2KfU4BIOggrJJa9nKoagXtLXWWo9vXJ88a+ls8=",
|
||||
"lastModified": 1738275804,
|
||||
"narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=",
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"rev": "2d7706ec4f7042b9072d3b8ac8ea496dee209bc8",
|
||||
"rev": "c5508e7d1922842ecd3160ea73b97da1282168b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -200,11 +130,11 @@
|
|||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1736283893,
|
||||
"narHash": "sha256-BG1FfTexFwNty5VhYjaQLMR6CMPfI3QRcaZrFQYu2EM=",
|
||||
"lastModified": 1737751639,
|
||||
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "4f339f6be2b61662f957c2ee9eda0fa597d8a6d6",
|
||||
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -217,16 +147,15 @@
|
|||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"catppuccin",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734622215,
|
||||
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=",
|
||||
"lastModified": 1738275749,
|
||||
"narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be",
|
||||
"rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -235,125 +164,39 @@
|
|||
"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": 1711997201,
|
||||
"narHash": "sha256-J71xzQlVYsjagA4AsVwRazhBh2rZrPpKvxTgs6UzL7c=",
|
||||
"lastModified": 1734128415,
|
||||
"narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "b76fa31346db7fc958a9898f3c594696ca71c4fd",
|
||||
"rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gmodena",
|
||||
"ref": "v0.4.1",
|
||||
"ref": "latest",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1737062831,
|
||||
"narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=",
|
||||
"lastModified": 1738136902,
|
||||
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c",
|
||||
"rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixpkgs-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=",
|
||||
|
@ -385,57 +228,16 @@
|
|||
"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_2",
|
||||
"home-manager": "home-manager",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"snowfall-lib": "snowfall-lib",
|
||||
"sops-nix": "sops-nix",
|
||||
"zen-browser": "zen-browser"
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
"snowfall-lib": {
|
||||
|
@ -467,11 +269,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736203741,
|
||||
"narHash": "sha256-eSjkBwBdQk+TZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4=",
|
||||
"lastModified": 1737411508,
|
||||
"narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "c9c88f08e3ee495e888b8d7c8624a0b2519cb773",
|
||||
"rev": "015d461c16678fc02a2f405eb453abb509d4e1d4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -510,47 +312,12 @@
|
|||
"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_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs-stable"
|
||||
|
|
|
@ -17,17 +17,11 @@
|
|||
# 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=v0.4.1"; };
|
||||
nix-flatpak = { url = "github:gmodena/nix-flatpak/?ref=latest"; };
|
||||
|
||||
# Apps
|
||||
ghostty = { url = "github:ghostty-org/ghostty"; };
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
{
|
||||
# Declare user packages.
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
{
|
||||
puzzlevision = {
|
||||
themes.catppuccin = {
|
||||
|
@ -24,6 +22,60 @@
|
|||
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;
|
||||
|
||||
|
@ -45,17 +97,16 @@
|
|||
avra
|
||||
avrdude
|
||||
jetbrains.phpstorm
|
||||
jetbrains-toolbox
|
||||
git
|
||||
nodejs_22
|
||||
bun
|
||||
devenv
|
||||
python39
|
||||
poetry
|
||||
nixd
|
||||
nil
|
||||
zed-editor
|
||||
bruno
|
||||
deno
|
||||
carapace
|
||||
|
||||
### Work
|
||||
teams-for-linux
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}: with lib;
|
||||
rec {
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
in
|
||||
{
|
||||
## Create a NixOS module option. (Stolen from Jake Hamilton)
|
||||
##
|
||||
## ```nix
|
||||
|
|
|
@ -5,12 +5,14 @@
|
|||
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 types; {
|
||||
options.${namespace}.desktop.gnome = with lib.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 ];
|
||||
|
@ -19,7 +21,7 @@ in
|
|||
};
|
||||
favorite-apps = mkOption {
|
||||
type = listOf str;
|
||||
default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "zen.desktop" "dev.zed.Zed.desktop"];
|
||||
default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "firefox.desktop" "dev.zed.Zed.desktop"];
|
||||
example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"];
|
||||
description = "Specify your favorite apps (sorted left to right).";
|
||||
};
|
||||
|
@ -42,7 +44,7 @@ in
|
|||
enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur.";
|
||||
};
|
||||
};
|
||||
wallpaper = mkOpt str (builtins.toString ./wallpapers/abstract/amber-d.jxl) "Specify the path of your prefered Gnome wallpaper.";
|
||||
wallpaper = mkOpt str (builtins.toString ./wallpapers/arcane/jinx_flare.jpg) "Specify the path of your prefered Gnome wallpaper.";
|
||||
};
|
||||
|
||||
config = mkIf osConfig.${namespace}.desktop.gnome.enable {
|
||||
|
@ -51,7 +53,7 @@ in
|
|||
dconf.settings = {
|
||||
"org/gnome/shell" = {
|
||||
favorite-apps = cfg.favorite-apps;
|
||||
enabled-extensions = forEach cfg.enabled-extensions (x: x.extensionUuid);
|
||||
enabled-extensions = lib.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) {
|
||||
|
|
BIN
modules/home/desktop/gnome/wallpapers/arcane/jinx_flare.jpg
Normal file
BIN
modules/home/desktop/gnome/wallpapers/arcane/jinx_flare.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 516 KiB |
BIN
modules/home/desktop/gnome/wallpapers/arcane/jinx_stand.webp
Normal file
BIN
modules/home/desktop/gnome/wallpapers/arcane/jinx_stand.webp
Normal file
Binary file not shown.
After ![]() (image error) 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 = types.attrsOf types.raw; };
|
||||
options.palette = mkOption { type = lib.types.attrsOf lib.types.raw; };
|
||||
|
||||
config = {
|
||||
inherit palette;
|
||||
|
|
|
@ -4,8 +4,10 @@
|
|||
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,11 +4,10 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) types;
|
||||
inherit (lib.${namespace}) mkOpt;
|
||||
in
|
||||
{
|
||||
options.${namespace}.admin = with types; {
|
||||
options.${namespace}.admin = with lib.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,8 +3,9 @@
|
|||
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,8 +3,9 @@
|
|||
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,8 +3,9 @@
|
|||
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,8 +4,9 @@
|
|||
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,11 +4,12 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
cfg = config.${namespace}.common.fonts;
|
||||
in {
|
||||
options.${namespace}.common.fonts = with types; {
|
||||
options.${namespace}.common.fonts = with lib.types; {
|
||||
enable = mkEnableOption "Enable system font management";
|
||||
fonts = mkOption {
|
||||
type = listOf package;
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
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,8 +3,9 @@
|
|||
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,18 +4,15 @@
|
|||
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 = mkOption {
|
||||
type = types.str;
|
||||
default = "linuxPackages_latest";
|
||||
example = "linuxPackages_latest";
|
||||
description = "Set the kernel version to be used by your system";
|
||||
};
|
||||
version = mkOpt lib.types.str "linuxPackages_latest" "Set the kernel version to be used by your system";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -3,29 +3,30 @@
|
|||
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 = types.str;
|
||||
type = lib.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 = types.str;
|
||||
type = lib.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 = types.str;
|
||||
type = lib.types.str;
|
||||
default = "de";
|
||||
example = "de";
|
||||
description = "Sets the keymap to be used by the system";
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
namespace,
|
||||
config,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.nix;
|
||||
in {
|
||||
options.${namespace}.common.nix = {
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.common.shell;
|
||||
in {
|
||||
options.${namespace}.common.shell = {
|
||||
|
@ -13,8 +14,8 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.shells = with pkgs; [ fish ];
|
||||
users.defaultUserShell = pkgs.fish;
|
||||
environment.shells = with pkgs; [ nushell fish ];
|
||||
users.defaultUserShell = pkgs.nushell;
|
||||
programs.fish.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
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,8 +3,9 @@
|
|||
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"; };
|
||||
|
@ -17,4 +18,4 @@ in {
|
|||
|
||||
programs.kdeconnect.enable = true;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,12 +4,13 @@
|
|||
config,
|
||||
namespace,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption;
|
||||
cfg = config.${namespace}.security.yubikey;
|
||||
in
|
||||
{
|
||||
options.${namespace}.security.yubikey = with types; {
|
||||
options.${namespace}.security.yubikey = with lib.types; {
|
||||
enable = mkEnableOption "Enable the Yubikey as a security device.";
|
||||
key-id = mkOption {
|
||||
type = listOf str;
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
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,8 +4,9 @@
|
|||
config,
|
||||
host,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.${namespace}.services.duckdns;
|
||||
in {
|
||||
options.${namespace}.services.duckdns = {
|
||||
|
|
|
@ -4,9 +4,11 @@
|
|||
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,8 +4,9 @@
|
|||
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,14 +3,15 @@
|
|||
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 = types.str;
|
||||
type = lib.types.str;
|
||||
default = config.${namespace}.admin.email;
|
||||
example = "system@thevoid.cafe";
|
||||
description = "Specify the E-Mail associated with your Cloudflare account for ACME.";
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
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,9 +3,10 @@
|
|||
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."; };
|
||||
|
@ -14,4 +15,3 @@ in {
|
|||
environment.systemPackages = with pkgs; [ cachix ];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
namespace,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
|
|
|
@ -2,17 +2,15 @@
|
|||
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
|
||||
|
@ -29,7 +27,7 @@
|
|||
boot = {
|
||||
# Configure additional kernel modules.
|
||||
extraModulePackages = [
|
||||
pkgs.linuxPackages_latest.rtl8821ce # Use custom network-card driver.
|
||||
pkgs.linuxKernel.packages.linux_6_12.rtl8821ce # Use custom network-card driver.
|
||||
];
|
||||
|
||||
blacklistedKernelModules = [
|
||||
|
@ -46,15 +44,14 @@
|
|||
# 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;
|
||||
|
@ -67,10 +64,15 @@
|
|||
# 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" ];
|
||||
users.users.jo.extraGroups = [ "dialout" "docker" "www-data" ];
|
||||
users.users.jo.hashedPasswordFile = config.sops.secrets."user/jo/password_hash".path;
|
||||
|
||||
# Configure home-manager
|
||||
|
|
Loading…
Add table
Reference in a new issue