Compare commits

..

59 Commits

Author SHA1 Message Date
Lennart J. Kurzweg (Nx2)
e73b7333fc Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles into nod 2025-11-11 00:44:25 +01:00
Lennart J. Kurzweg (Nx2)
fcfc125373 nod 2025-11-11 00:43:22 +01:00
Lennart J. Kurzweg (Nx2)
3418cfd8f3 cursor 2025-11-06 19:31:43 +01:00
Lennart J. Kurzweg (Nx2)
2585c76039 audacity 2025-11-02 20:58:02 +01:00
Lennart J. Kurzweg (Nx2)
04f10a4afd thunderbird paste event window dimensions 2025-11-02 20:57:51 +01:00
Lennart J. Kurzweg (Nx2)
651458875c Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-10-30 09:28:31 +01:00
Lennart J. Kurzweg (Nx2)
9d04a09de8 fix xdg-desktop-portal-termfile-chooser 2025-10-30 09:28:25 +01:00
Lennart J. Kurzweg (Nx2)
0eaa052cd5 pinned special border 2025-10-27 13:45:31 +01:00
Lennart J. Kurzweg (Nx2)
64a54b2cd6 switch to lts on xps 2025-10-27 13:43:26 +01:00
Lennart J. Kurzweg (Nx2)
55a22804c5 disable health remonder 2025-10-27 13:43:14 +01:00
Lennart J. Kurzweg (Nx2)
d85386bf9c Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-10-24 12:40:16 +02:00
Lennart J. Kurzweg (Nx2)
1698d0f851 flake bump 2025-10-24 12:39:30 +02:00
Lennart J. Kurzweg (Nx2)
18d93e6b0c dedicated github ssh config host 2025-10-24 12:39:26 +02:00
Lennart J. Kurzweg (Nx2)
91020c0072 trying out other dms 2025-10-24 12:26:05 +02:00
Lennart J. Kurzweg (Nx2)
e6c5cd5ead trying to get boot resolution full screen 2025-10-24 12:25:31 +02:00
Lennart J. Kurzweg (Nx2)
068fd19353 no unused hotkeys 2025-10-24 12:24:53 +02:00
Lennart J. Kurzweg (Nx2)
6f7449839d typst swap lsps 2025-10-24 12:24:40 +02:00
Lennart J. Kurzweg (Nx2)
9e2eb410ab go home-manager module 2025-10-24 12:24:29 +02:00
Lennart J. Kurzweg (Nx2)
fb974329e7 some packages 2025-10-24 12:24:15 +02:00
Lennart J. Kurzweg (Nx2)
7a70d7dae3 caldavevent '' 2025-10-24 12:24:01 +02:00
Lennart J. Kurzweg (Nx2)
e7c1c255bc Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles into nod 2025-10-21 23:51:00 +02:00
Lennart J. Kurzweg (Nx2)
52fe355b0a cleanup color pallete 2025-10-21 15:23:59 +02:00
Lennart J. Kurzweg (Nx2)
29a917ed37 worlds calendar 2025-10-21 15:23:22 +02:00
Lennart J. Kurzweg (Nx2)
7655e7b3bd helix hints 2025-10-21 15:23:12 +02:00
Lennart J. Kurzweg (Nx2)
858a8b77ec tuda rust labs 2025-10-21 15:22:55 +02:00
Lennart J. Kurzweg (Nx2)
ba199f9568 rust 2025-10-21 15:22:31 +02:00
Lennart J. Kurzweg (Nx2)
5f3a3a6f30 Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-10-17 12:48:02 +02:00
Lennart J. Kurzweg (Nx2)
9472550aaa north sops 2025-10-17 12:45:01 +02:00
Lennart J. Kurzweg (Nx2)
1b7fe7f7ca random changes 2025-10-17 12:44:51 +02:00
Lennart J. Kurzweg (Nx2)
b64abba7e5 typst 2025-10-17 12:44:14 +02:00
Lennart J. Kurzweg (Nx2)
df06425803 fish nxf indent 2025-10-17 12:43:51 +02:00
Lennart J. Kurzweg (Nx2)
6befb22a59 worlds calendar 2025-10-17 12:43:44 +02:00
Lennart J. Kurzweg (Nx2)
b4cd70b5f6 fix hyprpanel notifications 2025-10-17 12:43:36 +02:00
Lennart J. Kurzweg (Nx2)
78975da970 ssh * identities 2025-10-13 14:38:06 +02:00
Lennart J. Kurzweg (Nx2)
90c093fcef reddit rice 2025-10-13 14:30:34 +02:00
Lennart J. Kurzweg (Nx2)
40eefbf948 fix nxfetch 2025-10-09 15:32:10 +02:00
Lennart J. Kurzweg (Nx2)
042e8c7ee7 further gpg-ssh edits 2025-10-07 16:35:42 +00:00
Lennart J. Kurzweg (Nx2)
685a34fcbb NxWSL -> NxDCS 2025-10-07 16:35:06 +00:00
Lennart J. Kurzweg (Nx2)
812555c467 more ssh keys allowed 2025-10-07 17:31:40 +02:00
Lennart J. Kurzweg (Nx2)
ffddb4773b ssh-agent + port fix 2025-10-07 17:31:27 +02:00
Lennart J. Kurzweg (Nx2)
98c0a26209 no gpg-agent 2025-10-07 17:31:05 +02:00
Lennart J. Kurzweg (Nx2)
e25ad7891d cleanup 2025-10-07 17:30:46 +02:00
Lennart J. Kurzweg (Nx2)
470922dce2 ace colors 2025-10-05 01:51:11 +02:00
Lennart J. Kurzweg (Nx2)
b0cb61f05e hw ace fix 2025-10-05 01:51:05 +02:00
Lennart J. Kurzweg (Nx2)
e8373d6293 no trace 2025-10-05 01:50:49 +02:00
Lennart J. Kurzweg (Nx2)
ff5de39a19 all use vault sops age 2025-10-05 01:50:43 +02:00
Lennart J. Kurzweg (Nx2)
1fc8b2a7cb all use vault gpg 2025-10-05 01:48:18 +02:00
Lennart J. Kurzweg (Nx2)
e19ed3ece1 Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-10-05 01:21:38 +02:00
Lennart J. Kurzweg (Nx2)
4c178e57fa ssh use module 2025-10-05 00:59:05 +02:00
Lennart J. Kurzweg (Nx2)
f7de7f740d user accept xps ssh
+ refactor
2025-10-05 00:20:27 +02:00
Lennart J. Kurzweg (Nx2)
6809a6494f Crypto Change
luks for xps
ssh via ssh
sops via age
gpg backbone, but not removed
gpg-agent removed
2025-10-04 22:53:18 +02:00
Lennart J. Kurzweg (Nx2)
21fee7056a hypr.home fix 2025-10-04 22:52:06 +02:00
Lennart J. Kurzweg (Nx2)
d581209fdf Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-10-04 12:29:02 +02:00
Lennart J. Kurzweg (Nx2)
67c1f6fb25 firefox refactor + shadow fix 2025-10-04 12:09:33 +02:00
Lennart J. Kurzweg (Nx2)
c1ca5b2cf5 sleek rclone 2025-10-04 12:08:59 +02:00
Lennart J. Kurzweg (Nx2)
3818645825 more gnome base programs 2025-10-04 12:08:37 +02:00
Lennart J. Kurzweg (Nx2)
8e84355efd Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-09-30 16:29:25 +00:00
Lennart J. Kurzweg (Nx2)
f11db2239e nxf format 2025-09-30 16:29:22 +00:00
Lennart J. Kurzweg (Nx2)
d81aa406a4 nod 2025-09-03 19:46:44 +02:00
51 changed files with 1152 additions and 863 deletions

View File

@@ -2,6 +2,9 @@ keys:
- &users: - &users:
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634 - &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq - &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
- &xps-home age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
- &ace-home age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
- &north-home age1jr72q042ccgxpdgdaaev0arzc0vh3r02etv2tzhhsejl0mfaxs3q9hhlaz
- &hosts: - &hosts:
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e - &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6 - &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
@@ -14,5 +17,8 @@ creation_rules:
- *xps - *xps
- *ace - *ace
- *nx2_key_13 - *nx2_key_13
- *xps-home
- *ace-home
- *north-home
pgp: pgp:
- *nx2 - *nx2

View File

@@ -32,7 +32,6 @@
./system-modules/sops.nix ./system-modules/sops.nix
./system-modules/sound.nix ./system-modules/sound.nix
./system-modules/sshd.nix ./system-modules/sshd.nix
./system-modules/base-packages.nix
./system-modules/input.nix ./system-modules/input.nix
./system-modules/syncthing.nix ./system-modules/syncthing.nix
./system-modules/tuda.nix ./system-modules/tuda.nix
@@ -61,6 +60,8 @@
./system-modules/calendar/dicos.nix ./system-modules/calendar/dicos.nix
] else [ ] else [
]); ]);
environment.systemPackages = import ./system-modules/base-packages.nix pkgs;
systemd.extraConfig = "DefaultLimitNOFILE=2048"; systemd.extraConfig = "DefaultLimitNOFILE=2048";
system.stateVersion = hyper.pkgs-version; system.stateVersion = hyper.pkgs-version;
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];

View File

@@ -1,6 +1,7 @@
{ {
unfree = [ unfree = [
"cursor"
"discord" "discord"
"spotify" "spotify"
"obsidian" "obsidian"

View File

@@ -1,13 +1,13 @@
{ {
"base": { "base": {
"foreground": "#fefefe", "foreground": "#eddbef",
"background": "#020202" "background": "#100711"
}, },
"to_alter": { "to_alter": {
"accent": "#aaaaff", "accent": "#ba71c0",
"secondary": "#aaeeff", "secondary": "#3266ff",
"tertiary": "#aaffaa", "tertiary": "#4bb6e6",
"special": "#aaffaa", "special": "#76c071",
"weird": "#ffffaa" "weird": "#c08571"
} }
} }

View File

@@ -55,9 +55,10 @@ pkgs: rec {
}; };
in ccolor // fcolor // xcolor; in ccolor // fcolor // xcolor;
font = { font = {
code = { code = rec {
name = "JetBrainsMono Nerd Font"; name = "JetBrainsMono Nerd Font";
package = pkgs.nerd-fonts.jetbrains-mono; package = pkgs.nerd-fonts.jetbrains-mono;
regular-path = "${package}/share/fonts/truetype/NerdFonts/JetBrainsMonoNerdFont-Regular.ttf";
}; };
base = { base = {
# name = "NewComputerModern08"; # name = "NewComputerModern08";

350
flake.lock generated
View File

@@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755946532, "lastModified": 1760101617,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=", "narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada", "rev": "1826a9923881320306231b1c2090379ebf9fa4f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1759184217, "lastModified": 1761517857,
"narHash": "sha256-9XS/OqgjH7aof2Vt6AGe2voA0U/xrWL7QJQnqa6B80Y=", "narHash": "sha256-1xYv73nGA+Lm/hKRqjiUyuBzabaRwmeDxBCIMve5CWU=",
"owner": "9001", "owner": "9001",
"repo": "copyparty", "repo": "copyparty",
"rev": "fc2754cba589774a4ff665546653e753c72ba7ce", "rev": "e9ab040ce8e72e299a3d8fbd109865b1e218eb57",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -153,7 +153,7 @@
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -234,6 +234,27 @@
"type": "github" "type": "github"
} }
}, },
"home-manager24": {
"inputs": {
"nixpkgs": [
"nixpkgs24"
]
},
"locked": {
"lastModified": 1726989464,
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": { "hyprcursor": {
"inputs": { "inputs": {
"hyprlang": [ "hyprlang": [
@@ -279,11 +300,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758192433, "lastModified": 1760445448,
"narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=", "narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7", "rev": "50fb9f069219f338a11cf0bcccb9e58357d67757",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -308,11 +329,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1759169434, "lastModified": 1761249114,
"narHash": "sha256-SAJKAYq1QeDCx19+JVwkvyfXLpmXJrOyUCRH+Dy7T/c=", "narHash": "sha256-KDy8Vtlwe+7Z053HtD4fCRqlHBt0Kils0Zea4D77R7o=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "38c1e72c9d81fcdad8f173e06102a5da18836230", "rev": "aa5a239ac92a6bd6947cce2ca3911606df392cb6",
"revCount": 6467, "revCount": 6522,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@@ -340,11 +361,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758895089, "lastModified": 1761653710,
"narHash": "sha256-HOIITlSwB5iuVEVLmWNGu8bvI83Y2IbN8SzJQmBDwvg=", "narHash": "sha256-MhHSU9m/9HSckJ61OXcom/6F92NQf3s1QfLbRUApalc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "4d940a10aff16b240533c9b6527a14ff91e5e5ae", "rev": "e689220b1740aa99ca67fa06055792f82fa9ed85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -365,11 +386,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749046714, "lastModified": 1759610243,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -433,11 +454,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1757694755, "lastModified": 1759080228,
"narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=", "narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c", "rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -462,11 +483,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756810301, "lastModified": 1758927902,
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=", "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931", "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -475,27 +496,6 @@
"type": "github" "type": "github"
} }
}, },
"hyprspace": {
"inputs": {
"hyprland": [
"hyprland"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1759033501,
"narHash": "sha256-QhcOFLJYC9CiSVPkci62ghMEAJChzl+L98To1pKvnRQ=",
"owner": "KZDKM",
"repo": "Hyprspace",
"rev": "e54884da1d6a1af76af9d053887bf3750dd554fd",
"type": "github"
},
"original": {
"owner": "KZDKM",
"repo": "Hyprspace",
"type": "github"
}
},
"hyprutils": { "hyprutils": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -508,11 +508,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1756117388, "lastModified": 1759619523,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", "narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", "rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -570,17 +570,68 @@
"type": "github" "type": "github"
} }
}, },
"nix-formatter-pack": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1705252799,
"narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=",
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"rev": "2de39dedd79aab14c01b9e2934842051a160ffa5",
"type": "github"
},
"original": {
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"type": "github"
}
},
"nix-on-droid": {
"inputs": {
"home-manager": [
"home-manager24"
],
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": [
"nixpkgs24"
],
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
},
"locked": {
"lastModified": 1720396533,
"narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=",
"owner": "nix-community",
"repo": "nix-on-droid",
"rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "nix-on-droid",
"type": "github"
}
},
"nixos-wsl": { "nixos-wsl": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1758785683, "lastModified": 1761563673,
"narHash": "sha256-mRn51IeEBXeNh5a6xNLylk4PKBX0s/QQxgkEbYoPq/w=", "narHash": "sha256-d+1TpVAmRjcNBfjZsh2yQSdwUfN7Xgz1blJ185g73+A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "1bfb978f2f6261b6086e04af17f9418e1fe36d70", "rev": "a518cf710e5ebb935518dc7ac98e07e7ee5014c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -605,13 +656,45 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs-docs": {
"locked": {
"lastModified": 1705957679,
"narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-for-bootstrap": {
"locked": {
"lastModified": 1720244366,
"narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
}
},
"nixpkgs-latest": { "nixpkgs-latest": {
"locked": { "locked": {
"lastModified": 1759184131, "lastModified": 1761810199,
"narHash": "sha256-pDILdFbj+3Vt/RNZ4ODbIQqJ2HdeyidDAVggQ+hRDh0=", "narHash": "sha256-iMLB/90mK7lncjk3GVYlAmN1K+D6/7JVhOSau3O7eK0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0d4b74fdab79df77ae1e29f6b9e3a32ee6160032", "rev": "d03f6e8ae73c291f8088abf52ae378c448a2cce3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -639,11 +722,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1759036355, "lastModified": 1761672384,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", "narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", "rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -652,13 +735,29 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_2": { "nixpkgs24": {
"locked": { "locked": {
"lastModified": 1758198701, "lastModified": 1735563628,
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=", "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d", "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1761114652,
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -686,11 +785,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1758277210, "lastModified": 1761373498,
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e", "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -702,11 +801,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1758791193, "lastModified": 1761468971,
"narHash": "sha256-F8WmEwFoHsnix7rt290R0rFXNJiMbClMZyIC/e+HYf0=", "narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "25e53aa156d47bad5082ff7618f5feb1f5e02d01", "rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -731,6 +830,60 @@
"type": "github" "type": "github"
} }
}, },
"nmd": {
"flake": false,
"locked": {
"lastModified": 1666190571,
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
"owner": "rycee",
"repo": "nmd",
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmd_2": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs-docs"
],
"scss-reset": "scss-reset"
},
"locked": {
"lastModified": 1705050560,
"narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
"owner": "~rycee",
"repo": "nmd",
"rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -741,11 +894,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758108966, "lastModified": 1760663237,
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -785,14 +938,16 @@
"inputs": { "inputs": {
"copyparty": "copyparty", "copyparty": "copyparty",
"home-manager": "home-manager", "home-manager": "home-manager",
"home-manager24": "home-manager24",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"hyprspace": "hyprspace",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nix-on-droid": "nix-on-droid",
"nixos-wsl": "nixos-wsl", "nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"nixpkgs-latest": "nixpkgs-latest", "nixpkgs-latest": "nixpkgs-latest",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgs24": "nixpkgs24",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"yazi": "yazi" "yazi": "yazi"
} }
@@ -839,6 +994,22 @@
"type": "github" "type": "github"
} }
}, },
"scss-reset": {
"flake": false,
"locked": {
"lastModified": 1631450058,
"narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=",
"owner": "andreymatin",
"repo": "scss-reset",
"rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91",
"type": "github"
},
"original": {
"owner": "andreymatin",
"repo": "scss-reset",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -846,11 +1017,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759030640, "lastModified": 1760998189,
"narHash": "sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic=", "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "9ac51832c70f2ff34fcc97b05fa74b4a78317f9e", "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -875,21 +1046,6 @@
} }
}, },
"systems_2": { "systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -932,11 +1088,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755354946, "lastModified": 1760713634,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", "narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", "rev": "753bbbdf6a052994da94062e5b753288cef28dfb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -952,11 +1108,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1759072128, "lastModified": 1761655046,
"narHash": "sha256-n8mpisSJ3JLi9wI5CidfEMQeF8ogSiZUalAAPK3m1qA=", "narHash": "sha256-lG7eQqs8HDmmOl6vFkJ1iDlQBR+jY30uD4YtvWulCZc=",
"owner": "sxyazi", "owner": "sxyazi",
"repo": "yazi", "repo": "yazi",
"rev": "879ed4999694c84d62ba85979e5031d58b85f85d", "rev": "564b8851961a7545a93ebf04c0f8dd5778d0eccb",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -2,23 +2,44 @@
description = "Multisystem NixOS Flake of Lennart J. Kurzweg"; description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
inputs = { inputs = {
nixpkgs = { url = "nixpkgs/nixos-25.05"; }; nixpkgs.url = "nixpkgs/nixos-25.05";
nixpkgs-unstable = { url = "nixpkgs/nixos-unstable"; }; nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
nixpkgs-latest = { url = "github:nixos/nixpkgs?ref=master"; }; nixpkgs-latest.url = "github:nixos/nixpkgs?ref=master";
nixpkgs24.url = "github:NixOS/nixpkgs/nixos-24.05";
home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager24 ={
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs24";
};
nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; }; nix-on-droid = {
url = "github:nix-community/nix-on-droid/release-24.05";
inputs.nixpkgs.follows = "nixpkgs24";
inputs.home-manager.follows = "home-manager24";
};
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; };
hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; }; sops-nix ={
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; url = "github:Mic92/sops-nix";
hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; }; inputs.nixpkgs.follows = "nixpkgs";
};
yazi = { url = "github:sxyazi/yazi"; }; lanzaboote.url = "github:nix-community/lanzaboote/v0.4.2";
copyparty = { url = "github:9001/copyparty"; };
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
yazi.url = "github:sxyazi/yazi";
copyparty.url = "github:9001/copyparty";
}; };
outputs = { ... }@inputs: with inputs; let outputs = { ... }@inputs: with inputs; let
@@ -28,20 +49,19 @@
config = { allowUnfreePredicate = pkg: builtins.elem (simple-pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; }; config = { allowUnfreePredicate = pkg: builtins.elem (simple-pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
hyper-base = rec { hyper-base = rec {
inherit system; system = "x86_64-linux";
user = "nx2"; user = "nx2";
domain = "nx2.site"; domain = "nx2.site";
home = "/home/${user}/"; home = "/home/${user}";
webroot = "/var/lib/hugo/nx2site/public"; webroot = "/var/lib/hugo/nx2site/public";
pkgs-version = "25.05";
}; };
my-pkgs = host: import nixpkgs { get-pkgs = { host, system?system, nixpkgs?inputs.nixpkgs, version?"25.05" }: import nixpkgs {
inherit system config; inherit system config;
overlays = [(final: prev: { overlays = [(final: prev: {
unstable = import nixpkgs-unstable { inherit system config; }; unstable = import nixpkgs-unstable { inherit system config; };
latest = import nixpkgs-latest { inherit system config; }; latest = import nixpkgs-latest { inherit system config; };
version = "25.05"; inherit version;
})] ++ (if host == "NxACE" then [ })] ++ (if host == "NxACE" then [
copyparty.overlays.default copyparty.overlays.default
] else []); ] else []);
@@ -53,36 +73,58 @@
in { in {
nixosConfigurations = let nixosConfigurations = let
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem { make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
pkgs = my-pkgs host; pkgs = get-pkgs { inherit host; };
modules = [ ./configuration.nix ]; modules = [ ./configuration.nix ];
specialArgs = let specialArgs = let
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); }; hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
in { inherit inputs hyper rice secrets; }; in { inherit inputs hyper rice secrets; };
}; };
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem { make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
pkgs = my-pkgs host; pkgs = get-pkgs { inherit host; };
modules = [ ./nixos-wsl.nix ]; modules = [ ./wsl.nix ];
specialArgs = let specialArgs = let
hyper = hyper-base // { inherit host; }; hyper = hyper-base // { inherit host; };
rice = import ./flake-modules/rice.nix pkgs;
in { inherit inputs hyper rice; }; in { inherit inputs hyper rice; };
}; };
in { in {
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; }; NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; }; NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = false; };
NxACE = make-nixos-system "NxACE" { enable = false; }; NxACE = make-nixos-system "NxACE" { enable = false; };
NxWSL = make-nixos-wsl-system "NxWSL"; NxDCS = make-nixos-wsl-system "NxDCS";
}; };
nixOnDroidConfigurations = let
makeNODConfiguration = host: nix-on-droid.lib.nixOnDroidConfiguration rec {
pkgs = let
options = { inherit host; system = "aarch64-linux"; };
in (get-pkgs options) //
(get-pkgs (options // { version = "24.05"; nixpkgs = nixpkgs24; } )
);
modules = [ ./nod.nix ];
home-manager-path = home-manager24.outPath;
extraSpecialArgs = let
hyper = hyper-base // {
inherit host;
system = "aarch64-linux";
user = "nix-on-droid";
home = "/data/data/com.termux.nix/files/home";
};
rice = import ./flake-modules/rice.nix pkgs;
in { inherit inputs hyper rice; };
};
in { NxS23U = makeNODConfiguration "NxS23U"; };
homeConfigurations = let homeConfigurations = let
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration { make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
pkgs = my-pkgs host; pkgs = get-pkgs { inherit host; };
modules = [ ./home.nix ]; modules = [ ./home.nix ];
extraSpecialArgs = let extraSpecialArgs = let
hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; }; hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; };
in { inherit inputs hyper rice secrets; }; in { inherit inputs hyper rice secrets; };
}; };
make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration { make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration {
pkgs = my-pkgs host; pkgs = get-pkgs { inherit host; };
modules = [ ./shell-only.nix ]; modules = [ ./shell-only.nix ];
extraSpecialArgs = let extraSpecialArgs = let
hyper = hyper-base // { inherit host; }; hyper = hyper-base // { inherit host; };
@@ -93,7 +135,7 @@
"${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; }; "${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; };
"${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; }; "${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; };
"${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user; "${hyper-base.user}@NxDCS" = make-shell-configuration "NxDCS" hyper-base.user;
}; };
}; };
} }

View File

@@ -120,7 +120,7 @@ if __name__ == "__main__":
else: else:
time_string = "in " + hour_string + "and " + minu_string time_string = "in " + hour_string + "and " + minu_string
print(f"{event_dict['event_name']} {action_string} {time_string}") print(f"\'{event_dict['event_name']}\' {action_string} {time_string}")
'') '')
]; ];
} }

View File

@@ -425,8 +425,8 @@
"theme.bar.menus.menu.notifications.label" = accent.base; "theme.bar.menus.menu.notifications.label" = accent.base;
"theme.bar.menus.menu.notifications.no_notifications_label" = accent.base; "theme.bar.menus.menu.notifications.no_notifications_label" = accent.base;
"theme.bar.menus.menu.notifications.pager.background" = background; "theme.bar.menus.menu.notifications.pager.background" = background;
"theme.bar.menus.menu.notifications.pager.button" = accent.dark; "theme.bar.menus.menu.notifications.pager.button" = accent.base;
"theme.bar.menus.menu.notifications.pager.label" = accent.base; "theme.bar.menus.menu.notifications.pager.label" = accent.bright;
"theme.bar.menus.menu.notifications.scrollbar.color" = accent.base; "theme.bar.menus.menu.notifications.scrollbar.color" = accent.base;
"theme.bar.menus.menu.notifications.switch.disabled" = accent.base; "theme.bar.menus.menu.notifications.switch.disabled" = accent.base;
"theme.bar.menus.menu.notifications.switch_divider" = accent.base; "theme.bar.menus.menu.notifications.switch_divider" = accent.base;
@@ -492,12 +492,12 @@
"theme.notification.actions.background" = background; "theme.notification.actions.background" = background;
"theme.notification.actions.text" = foreground; "theme.notification.actions.text" = foreground;
"theme.notification.background" = background; "theme.notification.background" = background;
"theme.notification.border" = accent.base; "theme.notification.border" = border;
"theme.notification.close_button.background" = accent.dark; "theme.notification.close_button.background" = accent.dark;
"theme.notification.close_button.label" = accent.base; "theme.notification.close_button.label" = accent.base;
"theme.notification.label" = accent.base; "theme.notification.label" = accent.bright;
"theme.notification.labelicon" = accent.base; "theme.notification.labelicon" = accent.base;
"theme.notification.opacity" = 1.0; "theme.notification.opacity" = 100;
"theme.notification.text" = foreground; "theme.notification.text" = foreground;
"theme.notification.time" = accent.base; "theme.notification.time" = accent.base;

View File

@@ -1,6 +1,10 @@
{ ... }: { pkgs, ... }:
{ {
programs.bash = { programs.bash = let
init = /* bash */ ''
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
'';
in {
enable = true; enable = true;
shellAliases = { shellAliases = {
ll = "ls -l"; ll = "ls -l";
@@ -15,5 +19,10 @@
"checkjobs" "checkjobs"
]; ];
enableCompletion = false; enableCompletion = false;
} // pkgs.lib.mkIf (pkgs.version != "24.05") {
shellInit = init;
} // pkgs.lib.mkIf (pkgs.version != "25.05") {
profileExtra = init;
}; };
} }

View File

@@ -47,6 +47,13 @@
read-only = true; read-only = true;
type = "ics"; type = "ics";
} }
{
name = "Worlds";
url = "https://zlypher.github.io/lol-events/cal/league-of-legends-world-championship.ical";
color = "#A4C3DE";
read-only = true;
type = "ics";
}
{ {
name = "Feiertage Hessen"; name = "Feiertage Hessen";
url = "https://ics.tools/Feiertage/hessen.ics"; url = "https://ics.tools/Feiertage/hessen.ics";
@@ -54,13 +61,6 @@
read-only = true; read-only = true;
type = "ics"; type = "ics";
} }
# {
# name = "Handball Männer";
# url = "http://i.cal.to/ical/108/dhb/handball-nationalmannschaft/c687e97f.bc7c3eb6-11a0e356.ics";
# color = "#880023";
# read-only = true;
# type = "ics";
# }
]; ];
default_set = { default_set = {
# name = # name =

View File

@@ -207,7 +207,7 @@ in {
"external": { "external": {
"streamlink": { "streamlink": {
"quality": "", "quality": "",
"options": "--config ${hyper.home}.config/streamlink/config" "options": "--config ${hyper.home}/.config/streamlink/config"
} }
} }
} }

View File

@@ -25,6 +25,8 @@
</div> </div>
</div> </div>
''; '';
rgb = rice.lib.hex-to-rgb-comma-string;
s = builtins.toString;
in /* html */ '' in /* html */ ''
<!DOCTYPE html> <!DOCTYPE html>
<head> <head>
@@ -38,27 +40,26 @@
padding: 0px; padding: 0px;
} }
html { html {
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}); background: transparent;
padding: auto;
} }
body { body {
font-family: ${rice.font.base.name}; font-family: ${rice.font.base.name};
color: ${foreground}; color: ${foreground};
width: fit-content; width: fit-content;
margin: 10px auto 10px auto; margin: 10px auto 10px auto;
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}); background: rgba(${rgb background},${s rice.transparency});
border: ${builtins.toString rice.border-width}px solid ${border}; border: ${s rice.border-width}px solid ${border};
border-radius: ${builtins.toString rice.rounding}px; border-radius: ${s rice.rounding}px;
padding: ${builtins.toString rice.gap-size}px; padding: ${s rice.gap-size}px;
} }
h1 { h1 {
margin: ${builtins.toString rice.gap-size}px; margin: ${s rice.gap-size}px;
} }
.color-container { .color-container {
font-family: ${rice.font.code.name}; font-family: ${rice.font.code.name};
display: flex; display: flex;
gap: ${builtins.toString rice.gap-size}px; gap: ${s rice.gap-size}px;
margin: ${builtins.toString rice.gap-size}px; margin: ${s rice.gap-size}px;
} }
.color-box { .color-box {
width: 200px; width: 200px;
@@ -66,7 +67,7 @@
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
border-radius: ${builtins.toString rice.rounding}px; border-radius: ${s rice.rounding}px;
} }
</style> </style>
</head> </head>

View File

@@ -1,7 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
{
programs.firefox.profiles."{hyper.user}".settings = { programs.firefox.profiles."{hyper.user}".settings = {
"widget.use-xdg-desktop-portal.file-picker" = 1; "widget.use-xdg-desktop-portal.file-picker" = 1;
}; };
@@ -9,314 +6,11 @@
packages = with pkgs; [ packages = with pkgs; [
firefox firefox
]; ];
file = with rice.color; let file = {
blur = builtins.toString 20; ".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
in { ".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice;
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = /* css */ ''
:root{
/* Popup panels */
--arrowpanel-background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--arrowpanel-border-color : ${border} !important;
--arrowpanel-color : ${secondary.base} !important;
--arrowpanel-dimmed : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
--arrowpanel-dimmed-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.6) !important;
--arrowpanel-dimmed-even-further : rgba(${rice.lib.hex-to-rgb-comma-string background},0.8) !important;
/* Autocomplete */
--autocomplete-popup-background : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--autocomplete-popup-color : ${foreground} !important;
--autocomplete-popup-highlight-background: ${accent.base} !important;
--autocomplete-popup-highlight-color : ${foreground} !important;
/* Toolbar background */
--toolbar-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background},0.4) !important;
--toolbar-non-lwt-bgcolor : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--toolbar-non-lwt-bgimage : none !important;
--toolbar-color : ${foreground} !important;
/* Tabs */
--tab-selected-bgcolor : ${accent.base} !important;
--tabs-border-color : ${border} !important;
--tab-line-color : ${accent.base} !important;
--tab-loader-size : 16px !important;
/* Sidebar */
--lwt-sidebar-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--lwt-sidebar-text-color : ${foreground} !important;
--sidebar-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--sidebar-text-color : ${foreground} !important;
--sidebar-border-color : ${border} !important;
/* URL bar */
--urlbar-popup-url-color : ${foreground} !important;
--urlbar-popup-action-color : ${secondary.base} !important;
--toolbar-field-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-focus-background-color : rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-color : ${accent.base} !important;
--toolbar-field-focus-color : ${foreground} !important;
--toolbar-field-focus-border-color : ${accent.base} !important;
/* Buttons */
--toolbarbutton-icon-fill : ${foreground} !important;
--toolbarbutton-hover-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.2) !important;
--toolbarbutton-active-background : rgba(${rice.lib.hex-to-rgb-comma-string accent.base}, 0.4) !important;
/* Notification and panel */
--panel-disabled-color : rgba(${rice.lib.hex-to-rgb-comma-string foreground},0.3) !important;
--panel-separator-color : ${border} !important;
/* New tab page */
--newtab-background-color : ${background} !important;
--newtab-background-color-secondary : ${secondary.dark} !important;
--newtab-text-primary-color : ${foreground} !important;
--newtab-text-secondary-color : ${secondary.base} !important;
--newtab-search-icon-color : ${accent.base} !important;
--tabpanel-background-color : transparent !important;
background : linear-gradient(180deg,rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) 0%, rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) 100%) !important;
}
.tabbrowser-tab[selected="true"] {
color: ${background} !important;
}
#appcontent {
background: transparent !important;
}
#navigator-toolbox {
--tabs-border-color: transparent !important;
}
#toolbar-menubar, #TabsToolbar, #PersonalToolbar, #navigator-toolbox, #sidebar-box {
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
window, #nav-bar{
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
'';
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = /* css */ ''
/* Removes the white loading page */
/* url(about:newtab), url(about:home) */
@-moz-document url(about:blank) {
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
background: ${background} !important;
}
}
/* Sets up minimal incognito scrollbar */
@-moz-document url(about:privatebrowsing) {
:root{
scrollbar-width: thin !important;
scrollbar-color: rgb(161, 161, 161) transparent !important;
}
}
/* new-tab */
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
:root{
--newtab-background-color-secondary: ${background} !important;
}
body, html {
background: transparent !important;
}
.tile, .search-handoff-button {
border: ${builtins.toString rice.border-width}px solid ${border} !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree{
background-color: transparent !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
}
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
background-color: transparent !important;
}
}
@-moz-document domain(google.com) {
.sfbg {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, div#search > * {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
.g, .appbar {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
div#rso {
* {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
}
div#cnt > div {
}
}
@media (prefers-color-scheme: dark) {
:root .theme-system {
--color-bg: transtparent !important;
--color-text: ${rice.color.foreground}
}
}
@-moz-document domain(developer.mozilla.org) {
html, body {
background-color: transparent !important;
}
.top-navigation, .article-actions-container {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(github.com) {
body, html, header, #repository-container-header, .bgColor-muted, section {
background-color: transparent !important;
}
}
@-moz-document domain(wikipedia.org) {
body, html, div.mw-page-container, .vector-header, .mw-header {
background-color: transparent !important;
}
:root {
--color-base: ${foreground} !important;
--color-base--hover: ${accent.bright} !important;
--color-emphasized: ${accent.base} !important;
--color-progressive: ${accent.base} !important;
--color-progressive--hover: ${accent.brighter} !important;
--color-progressive--active: ${secondary.bright} !important;
--color-destructive: ${negative.base} !important;
--color-destructive--hover: ${negative.brighter} !important;
--color-destructive--active: ${negative.bright} !important;
--color-visited: ${secondary.base} !important;
--color-visited--hover: ${secondary.brighter} !important;
--color-visited--active: ${secondary.bright} !important;
--color-error: ${negative.base} !important;
--color-error--hover: ${negative.bright} !important;
--color-error--active: ${negative.bright} !important;
--color-warning: ${weird.base} !important;
--color-success: ${positive.base} !important;
--color-notice: ${special.base} !important;
--color-content-added: ${positive.base} !important;
--color-content-removed: ${negative.base} !important;
--color-base--subtle: ${accent.dark} !important;
--box-shadow-color-base: ${black.base} !important;
--background-color-base: transparent !important;
--background-color-neutral: transparent !important;
--background-color-neutral-subtle: transparent !important;
--background-color-interactive: ${accent.darker} !important;
--background-color-interactive--hover: ${accent.dark} !important;
--background-color-interactive--active: ${secondary.dark} !important;
--background-color-interactive-subtle: ${subtle.darker} !important;
--background-color-interactive-subtle--hover: ${subtle.dark} !important;
--background-color-interactive-subtle--active: ${subtle.base} !important;
--border-color-base: ${border} !important;
--border-color-emphasized: ${border2} !important;
--border-color-subtle: ${subtle.base} !important;
--border-color-muted: ${subtle.dark} !important;
}
}
@-moz-document domain(youtube.com) {
body, html, div#content, ytd-app, #frosted-glass.with-chipbar.ytd-app, ytd-shorts[is-dark] #cinematic-shorts-scrim.ytd-shorts {
background-color: transparent !important;
}
#background.ytd-masthead, div#background {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(100px);
}
* {
--yt-spec-base-background: transparent;
--yt-spec-raised-background: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--yt-spec-menu-background: rgba(${rice.lib.hex-to-rgb-comma-string accent.dark}, ${builtins.toString rice.transparency}) !important;
--yt-spec-inverted-background: rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) !important;
}
}
@-moz-document domain(mynixos.com) {
body, html {
background-color: transparent !important;
}
header, footer {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(moodle.informatik.tu-darmstadt.de) {
body, html , .main-inner, .main-inner * {
background-color: transparent !important;
}
.bg-primary {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5) !important;
}
}
@-moz-document url-prefix("https://nx2.site/") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: black;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
body, .tw-bg-background-alt3, main, .card-header, .card-body, .modal-body {
background-color: transparent !important;
}
.modal-open, .modal-header, form.modal-content, .modal-footer {
background-color: rgba(0,0,0,0.8) !important;
backdrop-filter: blur(5px);
}
.cdk-virtual-scroll-content-wrapper, .card, .tw-bg-background, .modal-content {
background-color: rgba(0,0,0,0.8) !important;
border-radius: 10px !important;
border: ${toString rice.border-width}px solid ${border} !important;
}
}
'';
# @-moz-document domain(chatgpt.com) {
# body, html , .bg-token-sidebar-surface-primary {
# background-color: transparent !important;
# }
# .bg-token-main-surface-primary {
# background-color: rgba(0,0,0,1) !important;
# backdrop-filter: blur(100px) !important;
# border-radius: ${builtins.toString rice.rounding}px !important;
# }
# }
}; };
}; };
} }
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/

View File

@@ -0,0 +1,19 @@
{ pkgs, ... }@all: with all;
# browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
{
programs.firefox.profiles."{hyper.user}".settings = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
};
home = {
packages = with pkgs; [
firefox
];
file = with rice.color; let
blur = builtins.toString 20;
f = rice.lib.hex-to-rgb-comma-string;
in {
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice; };
};
}

View File

@@ -0,0 +1,92 @@
rice: with rice.color; let
f = rice.lib.hex-to-rgb-comma-string;
# blur = builtins.toString 20;
in /* css */ ''
:root{
/* Popup panels */
--arrowpanel-background : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--arrowpanel-border-color : ${border} !important;
--arrowpanel-color : ${secondary.base} !important;
--arrowpanel-dimmed : rgba(${f background},0.4) !important;
--arrowpanel-dimmed-further : rgba(${f background},0.6) !important;
--arrowpanel-dimmed-even-further : rgba(${f background},0.8) !important;
/* Autocomplete */
--autocomplete-popup-background : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--autocomplete-popup-color : ${foreground} !important;
--autocomplete-popup-highlight-background: ${accent.base} !important;
--autocomplete-popup-highlight-color : ${foreground} !important;
/* Toolbar background */
--toolbar-bgcolor : transparent !important;
--toolbar-non-lwt-bgcolor : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--toolbar-non-lwt-bgimage : none !important;
--toolbar-color : ${foreground} !important;
/* Tabs */
--tab-selected-bgcolor : ${accent.base} !important;
--tabs-border-color : ${border} !important;
--tab-line-color : ${accent.base} !important;
--tab-loader-size : 16px !important;
/* Sidebar */
--lwt-sidebar-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--lwt-sidebar-text-color : ${foreground} !important;
--sidebar-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--sidebar-text-color : ${foreground} !important;
--sidebar-border-color : ${border} !important;
/* URL bar */
--urlbar-popup-url-color : ${foreground} !important;
--urlbar-popup-action-color : ${secondary.base} !important;
--toolbar-field-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-focus-background-color : rgba(${f background}, ${builtins.toString rice.transparency}) !important;
--toolbar-field-color : ${accent.base} !important;
--toolbar-field-focus-color : ${foreground} !important;
--toolbar-field-focus-border-color : ${accent.base} !important;
/* Buttons */
--toolbarbutton-icon-fill : ${foreground} !important;
--toolbarbutton-hover-background : rgba(${f accent.base}, 0.2) !important;
--toolbarbutton-active-background : rgba(${f accent.base}, 0.4) !important;
/* Notification and panel */
--panel-disabled-color : rgba(${f foreground},0.3) !important;
--panel-separator-color : ${border} !important;
/* New tab page */
--newtab-background-color : transparent !important;
--newtab-background-color-secondary : ${secondary.dark} !important;
--newtab-text-primary-color : ${foreground} !important;
--newtab-text-secondary-color : ${secondary.base} !important;
--newtab-search-icon-color : ${accent.base} !important;
--newtab-background-card : ${accent.dark} !important;
--tabpanel-background-color : transparent !important;
background : linear-gradient(180deg,rgba(${f secondary.dark}, ${builtins.toString rice.transparency}) 0%, rgba(${f accent.dark}, ${builtins.toString rice.transparency}) 100%) !important;
}
.tabbrowser-tab[selected="true"] {
color: ${background} !important;
}
hbox#browser {
backround-color: transparent: !important;
}
#appcontent {
background: transparent !important;
}
#navigator-toolbox {
--tabs-border-color: transparent !important;
}
#toolbar-menubar, #TabsToolbar, #PersonalToolbar, #navigator-toolbox, #sidebar-box {
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
window, #nav-bar{
background-color: transparent !important;
-moz-appearance: none !important;
background-image: none !important;
}
''

View File

@@ -0,0 +1,226 @@
rice: with rice.color; let
f = rice.lib.hex-to-rgb-comma-string;
blur = builtins.toString 20;
in /* css */ ''
/* Removes the white loading page */
/* url(about:newtab), url(about:home) */
@-moz-document url(about:blank) {
html:not(#ublock0-epicker), html:not(#ublock0-epicker) body, #newtab-customize-overlay {
background: transparent !important;
}
}
/* Sets up minimal incognito scrollbar */
@-moz-document url(about:privatebrowsing) {
:root{
scrollbar-width: thin !important;
scrollbar-color: rgb(161, 161, 161) transparent !important;
}
}
/* new-tab */
@-moz-document url-prefix(about:home), url-prefix(about:newtab) {
:root{
--newtab-background-color-secondary: rgba(${f background},0.5) !important;
}
body, html {
background: transparent !important;
}
.tile, .search-handoff-button {
border: ${builtins.toString rice.border-width}px solid ${border} !important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${f background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, .bg-neutral-background, .threadline, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar, comment-body-header, shreddit-comment-tree, #flex-left-nav-container {
background-color: transparent !important;
}
#main-content {
background-color: rgba(${f background},0.5)!important;
}
}
@-moz-document domain(reddit.com) {
header {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
}
body, html, reddit-sidebar-nav, shreddit-post, aside, .reddit-search-bar{
background-color: transparent !important;
}
}
@-moz-document domain(google.com) {
.sfbg {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(${blur}px);
}
body, html, div#search > * {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
.g, .appbar {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
div#rso {
* {
background-color: transparent !important;
border: ${builtins.toString rice.border-width} solid ${border};
}
}
div#cnt > div {
}
}
@media (prefers-color-scheme: dark) {
:root .theme-system {
--color-bg: transtparent !important;
--color-text: ${rice.color.foreground}
}
}
@-moz-document domain(developer.mozilla.org) {
html, body {
background-color: transparent !important;
}
.top-navigation, .article-actions-container {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(github.com) {
body, html, header, #repository-container-header, .bgColor-muted, section {
background-color: transparent !important;
}
}
@-moz-document domain(youtube.com) {
body, html, div#content, ytd-app, #frosted-glass.with-chipbar.ytd-app, ytd-shorts[is-dark] #cinematic-shorts-scrim.ytd-shorts {
background-color: transparent !important;
}
#background.ytd-masthead, div#background {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
backdrop-filter: blur(100px);
}
* {
--yt-spec-base-background: transparent;
--yt-spec-raised-background: rgba(${rice.lib.hex-to-rgb-comma-string background}, ${builtins.toString rice.transparency}) !important;
--yt-spec-menu-background: rgba(${rice.lib.hex-to-rgb-comma-string accent.dark}, ${builtins.toString rice.transparency}) !important;
--yt-spec-inverted-background: rgba(${rice.lib.hex-to-rgb-comma-string secondary.dark}, ${builtins.toString rice.transparency}) !important;
}
}
@-moz-document domain(mynixos.com) {
body, html {
background-color: transparent !important;
}
header, footer {
background-color: rgba(0,0,0,1) !important;
backdrop-filter: blur(100px);
border-radius: ${builtins.toString rice.rounding}px;
}
}
@-moz-document domain(moodle.informatik.tu-darmstadt.de) {
body, html , .main-inner, .main-inner * {
background-color: transparent !important;
}
.bg-primary {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string accent.base},0.5) !important;
}
}
@-moz-document domain(wikipedia.org) {
body, html, div.mw-page-container, .vector-header, .mw-header {
background-color: transparent !important;
}
:root {
--color-base: ${foreground} !important;
--color-base--hover: ${accent.bright} !important;
--color-emphasized: ${accent.base} !important;
--color-progressive: ${accent.base} !important;
--color-progressive--hover: ${accent.brighter} !important;
--color-progressive--active: ${secondary.bright} !important;
--color-destructive: ${negative.base} !important;
--color-destructive--hover: ${negative.brighter} !important;
--color-destructive--active: ${negative.bright} !important;
--color-visited: ${secondary.base} !important;
--color-visited--hover: ${secondary.brighter} !important;
--color-visited--active: ${secondary.bright} !important;
--color-error: ${negative.base} !important;
--color-error--hover: ${negative.bright} !important;
--color-error--active: ${negative.bright} !important;
--color-warning: ${weird.base} !important;
--color-success: ${positive.base} !important;
--color-notice: ${special.base} !important;
--color-content-added: ${positive.base} !important;
--color-content-removed: ${negative.base} !important;
--color-base--subtle: ${accent.dark} !important;
--box-shadow-color-base: ${black.base} !important;
--background-color-base: transparent !important;
--background-color-neutral: transparent !important;
--background-color-neutral-subtle: transparent !important;
--background-color-interactive: ${accent.darker} !important;
--background-color-interactive--hover: ${accent.dark} !important;
--background-color-interactive--active: ${secondary.dark} !important;
--background-color-interactive-subtle: ${subtle.darker} !important;
--background-color-interactive-subtle--hover: ${subtle.dark} !important;
--background-color-interactive-subtle--active: ${subtle.base} !important;
--border-color-base: ${border} !important;
--border-color-emphasized: ${border2} !important;
--border-color-subtle: ${subtle.base} !important;
--border-color-muted: ${subtle.dark} !important;
}
}
@-moz-document url-prefix("https://nx2.site/") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: black;
}
}
@-moz-document url-prefix("pw.nx2.site") {
html {
background: radial-gradient(rgba(255, 255, 255, 0.8) 5%, transparent 5%) !important;
background-repeat: repeat !important;
background-size: 2vmin 2vmin !important;
}
body, .tw-bg-background-alt3, main, .card-header, .card-body, .modal-body {
background-color: transparent !important;
}
.modal-open, .modal-header, form.modal-content, .modal-footer {
background-color: rgba(0,0,0,0.8) !important;
backdrop-filter: blur(5px);
}
.cdk-virtual-scroll-content-wrapper, .card, .tw-bg-background, .modal-content {
background-color: rgba(0,0,0,0.8) !important;
border-radius: 10px !important;
border: ${toString rice.border-width}px solid ${border} !important;
}
}
''
# @-moz-document domain(chatgpt.com) {
# body, html , .bg-token-sidebar-surface-primary {
# background-color: transparent !important;
# }
# .bg-token-main-surface-primary {
# background-color: rgba(0,0,0,1) !important;
# backdrop-filter: blur(100px) !important;
# border-radius: ${builtins.toString rice.rounding}px !important;
# }
# }

View File

@@ -1,36 +1,37 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
fish
any-nix-shell any-nix-shell
(writeShellScriptBin "nxfetch" '' (writeShellScriptBin "nxfetch" /* bash */ ''
logo=$(echo -e " logo=$(echo -e "
OS OS
DE/WM DE/WM
TERM TERM
SHELL SHELL
ISHELL ISHELL
KERNEL KERNEL
EDITOR EDITOR
TFM TFM
PROMPT PROMPT
" | lolcat --force 2> /dev/null) " | lolcat --force 2> /dev/null)
msg=" release_line=$(cat /etc/*-release 2> /dev/null || echo 'PRETTY_NAME="[No Release]"')
$(echo -e "$logo" | sed -n 3p): $(cat /etc/*-releas 2> /dev/null || echo 'PRETTY_NAME="[No Release]"' | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev)
$(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^} msg="
$(echo -e "$logo" | sed -n 5p): ''${TERM^} $(echo -e "$logo" | sed -n 3p): $(echo "$release_line" | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev)
$(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ' | sed -E 's-(.*?), version (.*?)\(.*-\1 \2-g') $(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^}
$(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\U&/') $(echo -e "$logo" | sed -n 5p): ''${TERM^}
$(echo -e "$logo" | sed -n 8p): ''$(uname -r | sed -E 's=(.+-.+-.+-.+)-.+=\1=g') $(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ' | sed -E 's-(.*?), version (.*?)\(.*-\1 \2-g')
$(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | sed 's/./\U&/') $(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\U&/')
$(echo -e "$logo" | sed -n 10p): $(yazi --version | sed -E 's-(.*?) \(.*-\1-g') $(echo -e "$logo" | sed -n 8p): ''$(uname -r | sed -E 's=(.+-.+-.+-.+)-.+=\1=g')
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/') $(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | sed 's/./\U&/')
" $(echo -e "$logo" | sed -n 10p): $(yazi --version | sed -E 's-(.*?) \(.*-\1-g')
echo -e "$msg" $(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/')
"
echo -e "$msg"
'') '')
]; ];
@@ -38,6 +39,7 @@
programs.fish = { programs.fish = {
enable = true; enable = true;
package = pkgs.fish;
shellAliases = let shellAliases = let
base-eza = "eza --icons --git --smart-group --group-directories-first"; base-eza = "eza --icons --git --smart-group --group-directories-first";
in { in {
@@ -85,6 +87,7 @@
d = "docker"; d = "docker";
dcmp = "docker compose"; dcmp = "docker compose";
stui = "sudo systemctl-tui"; stui = "sudo systemctl-tui";
wlc = "wl-copy";
# nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}''; # nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
# ya = "yazi"; # function # ya = "yazi"; # function
@@ -112,7 +115,7 @@
''; '';
nx_backup = let nx_backup = let
destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/"; destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/";
in pkgs.lib.mkIf (hyper.host != "NxACE" && hyper.host != "NxWSL") '' in pkgs.lib.mkIf (hyper.host == "NxXPS" || hyper.host == "NxNORTH") ''
set RPATH (curl -s https://${hyper.domain}/latest-backup) set RPATH (curl -s https://${hyper.domain}/latest-backup)
rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination} rsync -avz --info=progress2 -e "ssh -p ${builtins.toString secrets.ssh.port}" ${hyper.user}@ssh.${hyper.domain}:"$RPATH" ${destination}
''; '';

View File

@@ -3,7 +3,7 @@ lib.mkIf (hyper.host == "NxNORTH")
{ {
home = { home = {
packages = (with pkgs.unstable; [ packages = (with pkgs.unstable; [
protonup protonup-ng
mangohud mangohud
prismlauncher prismlauncher

View File

@@ -21,10 +21,10 @@
}; };
extraConfig = { extraConfig = {
credential = { credential = {
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxWSL") "lkurzweg"; "https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxDCS") "lkurzweg";
"https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxWSL") "Test"; "https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxDCS") "Test";
}; };
url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/"; url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxDCS") "https://git.da.dicos.de/";
url."ssh://git@github.com/".insteadOf = "https://github.com/"; url."ssh://git@github.com/".insteadOf = "https://github.com/";
pull.rebase = false; # true pull.rebase = false; # true
}; };

View File

@@ -1,16 +1,36 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ home.packages = with pkgs; [ pinentry-all ];
# there also is a system module programs.gpg = {
home.packages = with pkgs; [ enable = true;
gnupg package = pkgs.gnupg;
gpg-tui homedir = "${hyper.home}/vault/gnupg";
pinentry-all settings = {
]; armor = true;
cert-digest-algo = "SHA512";
charset = "utf-8";
default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed";
keyid-format = "0xlong";
list-options = "show-uid-validity";
no-comments = true;
no-emit-version = true;
no-greeting = true;
no-symkey-cache = true;
personal-cipher-preferences = "AES256 AES192 AES";
personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed";
personal-digest-preferences = "SHA512 SHA384 SHA256";
pinentry-mode = "loopback";
require-cross-certification = true;
s2k-cipher-algo = "AES256";
s2k-digest-algo = "SHA512";
use-agent = true;
verify-options = "show-uid-validity";
with-fingerprint = true;
};
};
services.gpg-agent = let services.gpg-agent = let
min2sec = min: (min * 60); min2sec = min: (min * 60);
in { in {
enable = true; enable = false;
verbose = true; verbose = true;
sshKeys = [ sshKeys = [
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey "97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
@@ -19,35 +39,8 @@
enableFishIntegration = true; enableFishIntegration = true;
defaultCacheTtlSsh = min2sec 60; defaultCacheTtlSsh = min2sec 60;
defaultCacheTtl = min2sec 30; defaultCacheTtl = min2sec 30;
pinentry = {
package = pkgs.pinentry;
program = "pinentry";
};
extraConfig = '' extraConfig = ''
allow-loopback-pinentry allow-loopback-pinentry
''; '';
}; };
home.file.".gnupg/gpg.conf".text = ''
personal-cipher-preferences AES256 AES192 AES
personal-digest-preferences SHA512 SHA384 SHA256
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
cert-digest-algo SHA512
s2k-digest-algo SHA512
s2k-cipher-algo AES256
charset utf-8
no-comments
no-emit-version
no-greeting
keyid-format 0xlong
list-options show-uid-validity
verify-options show-uid-validity
with-fingerprint
require-cross-certification
no-symkey-cache
armor
use-agent
pinentry-mode loopback
'';
} }

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
# nixfmt-classic # nix formater # nixfmt-classic # nix formater
@@ -205,18 +204,18 @@
language = [ language = [
{ {
name = "nix"; name = "nix";
language-servers = [ language-servers = [ "nixd" ];
"nixd"
# "llm"
];
} }
{ {
name = "latex"; name = "latex";
language-servers = [ "texlab" "language-tool" ]; language-servers = [ "texlab" "language-tool" ];
} }
{
name = "typst";
language-servers = [ "language-tool" "tinymist" ];
}
{ {
name = "markdown"; name = "markdown";
# language-servers = [ "marksman" "style-check" "language-tool" ];
language-servers = [ "language-tool" "marksman" ]; language-servers = [ "language-tool" "marksman" ];
file-types = [ "md" "MD" ]; file-types = [ "md" "MD" ];
scope = "text.<name>"; scope = "text.<name>";
@@ -436,8 +435,8 @@
fg = black.bright; fg = black.bright;
}; };
"ui.virtual.inlay-hint" = { "ui.virtual.inlay-hint" = {
fg = background; fg = subtle.base;
bg = tertiary.dark; bg = subtle.dark;
}; };
"ui.virtual.ruler" = { "ui.virtual.ruler" = {
bg = background; bg = background;

View File

@@ -41,7 +41,7 @@ in {
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo # inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus # inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
# inputs.hycov.packages.${pkgs.system}.hycov # inputs.hycov.packages.${pkgs.system}.hycov
pkgs.hyprlandPlugins.hyprspace # pkgs.hyprlandPlugins.hyprspace
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace # inputs.hyprspace.packages.${pkgs.system}.Hyprspace
]; ];
@@ -224,7 +224,7 @@ in {
]; ];
windowrulev2 = [ windowrulev2 = [
"bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1" "bordercolor rgba(${rice.lib.nohash rice.color.special.bright}ff), pinned:1"
"bordersize 0, floating:0, onworkspace:w[tv1]" "bordersize 0, floating:0, onworkspace:w[tv1]"
"rounding 0, floating:0, onworkspace:w[tv1]" "rounding 0, floating:0, onworkspace:w[tv1]"
@@ -263,7 +263,6 @@ in {
# "opacity ${transparency}, class:^(obsidian)$" # "opacity ${transparency}, class:^(obsidian)$"
"opacity ${transparency}, class:^(VSCodium)$" "opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, title:^(wlogout)$" "opacity ${transparency}, title:^(wlogout)$"
"opaque, title:^(GNU Image Manipulation Program)$" "opaque, title:^(GNU Image Manipulation Program)$"
"opaque, fullscreen:1" "opaque, fullscreen:1"
@@ -277,6 +276,7 @@ in {
"dimaround, title:^(terminal-file-picker)$" "dimaround, title:^(terminal-file-picker)$"
"center, title:^(terminal-file-picker)$" "center, title:^(terminal-file-picker)$"
"size 80% 80%, title:^(terminal-file-picker)$" "size 80% 80%, title:^(terminal-file-picker)$"
"size: 30% 30%, initialTitle:^(Select Calendar)$"
]; ];
@@ -372,7 +372,7 @@ in {
"SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'" "SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'"
"SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'" "SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'"
"SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'" "SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'"
"SUPER, O, exec, obsidian " # "SUPER, O, exec, obsidian "
"SUPER, P, pin " "SUPER, P, pin "
# "SUPER, Ü," # "SUPER, Ü,"
# "SUPER, +," # "SUPER, +,"
@@ -408,7 +408,7 @@ in {
"SUPER, C, exec, chatterino" "SUPER, C, exec, chatterino"
"SUPER SHIFT, C, exec, hyprpicker -n -a" "SUPER SHIFT, C, exec, hyprpicker -n -a"
"SUPER, V, togglefloating, " "SUPER, V, togglefloating, "
"SUPER, B, exec, bitwarden" # "SUPER, B, exec, bitwarden"
"SUPER, N, togglesplit" "SUPER, N, togglesplit"
# "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.sh " # "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.sh "
# "SUPER, comma, exec, /home/nx2/scripts/change-language.sh" # "SUPER, comma, exec, /home/nx2/scripts/change-language.sh"

View File

@@ -1,5 +1,4 @@
{ config, pkgs, ... }@all: with all; { config, pkgs, ... }@all: with all; {
{
home.packages = with pkgs; [ libnotify ]; home.packages = with pkgs; [ libnotify ];
services.mako = with rice; { services.mako = with rice; {
enable = if config.programs.hyprpanel.enable then false else true; enable = if config.programs.hyprpanel.enable then false else true;

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; let
sep = " "; sep = " ";
in { in {
home = { home = {

View File

@@ -13,5 +13,6 @@
wev wev
wl-clipboard wl-clipboard
xclip xclip
wlr-randr
]; ];
} }

View File

@@ -1,14 +1,20 @@
{ pkgs, hyper, ... }: { { pkgs, hyper, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
chromium chromium
gnome-clocks
gnome-calculator
gnome-characters
gnome-2048
element-desktop element-desktop
qbittorrent qbittorrent
wl-clipboard wl-clipboard
xfce.thunar xfce.thunar
] ++ (if (hyper.host != "NxACE") then [ ] ++ (if (hyper.host != "NxACE") then [
signal-desktop signal-desktop
unstable.code-cursor-fhs
obsidian obsidian
zoom-us zoom-us
inkscape inkscape
audacity
] else []); ] else []);
} }

View File

@@ -2,6 +2,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
bat bat
cmake cmake
cmatrix
dig dig
du-dust du-dust
dysk dysk
@@ -33,6 +34,7 @@
systemctl-tui systemctl-tui
tldr tldr
w3m w3m
which
yt-dlp yt-dlp
]; ];
} }

View File

@@ -0,0 +1,12 @@
{ ... }: {
imports = [
./programming/c.nix
./programming/gleam.nix
./programming/glsl.nix
./programming/go.nix
./programming/java.nix
./programming/js.nix
./programming/python.nix
./programming/rust.nix
];
}

View File

@@ -1,8 +1,7 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ programs.go = {
home = { enable = true;
packages = with pkgs; [ package = pkgs.go;
go goPath = "${config.xdg.dataHome}/go";
];
}; };
} }

View File

@@ -0,0 +1,11 @@
{ pkgs, ... }@all: with all; {
home = {
packages = with pkgs; [
cargo
clippy
rustc
rustfmt
rust-analyzer
];
};
}

View File

@@ -23,9 +23,7 @@
}; };
}; };
}; };
secrets = { secrets.pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
};
}; };
}; };
}; };

View File

@@ -1,22 +1,7 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ imports = [ inputs.sops-nix.homeManagerModules.sops ];
imports = [
inputs.sops-nix.homeManagerModules.sops
];
sops = { sops = {
age.keyFile = "${hyper.home}.age_nx2_key_13.txt"; age.keyFile = "${hyper.home}/vault/age/sopsnix-${hyper.host}-home.key";
defaultSopsFile = ../sops-secrets.yaml; defaultSopsFile = ../sops-secrets.yaml;
# %r is $XDG_RUNTIME_DIR
secrets = {
"example" = {
path = "%r/secrets/example";
};
# "sops-age-private-key" = { # Bootstrapping doens't work
# mode = "0400";
# path = "/home/${user}/.config/sops/age/keys.txt";
# };
};
}; };
} }

View File

@@ -1,27 +1,37 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ home.packages = with pkgs; [ sshfs ];
home = { programs.ssh = {
packages = with pkgs; [ sshfs ]; enable = true;
file.".ssh/config".text = '' package = pkgs.openssh;
HOST nxace addKeysToAgent = "yes";
HostName ssh.${hyper.domain} matchBlocks = let
User ${hyper.user} nxace = name: {
Port 50022 host = name;
hostname = "ssh.${hyper.domain}";
HOST nxacel user = "nx2";
HostName 10.0.1.1 port = 50022;
User ${hyper.user} identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}";
Port 50022 };
in {
HOST nxrpil "*".identityFile = [
HostName 10.0.1.31 "${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}"
User ${hyper.user} "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}"
Port 22 "${hyper.home}/vault/ssh/tg-dm-informatik-tuda"
];
HOST nxgit "github.com".identityFile = [ "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" ];
HostName ssh.${hyper.domain} "nxace" = nxace "nxace";
User git "nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; };
Port 50022 "nxrpli" = (nxace "nxrpil") // { hostname = "10.0.1.31"; port = 22; };
''; "nxgit" = (nxace "nxgit") // {
user = "git";
identityFile = "${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}";
# addKeysToAgent = "1h";
};
};
};
services.ssh-agent = {
enable = true;
# socket = "ssh-agent"; # suffix to $XDG_RUNTIME_DIR
# package = pkgs.openssh;
}; };
} }

View File

@@ -1,32 +1,32 @@
{ pkgs, ... }@all: with all; { { pkgs, ... }@all: with all; {
xdg = { xdg = {
enable = true; enable = true;
configHome = "${hyper.home}.config"; configHome = "${hyper.home}/.config";
cacheHome = "${hyper.home}.cache"; cacheHome = "${hyper.home}/.cache";
dataHome = "${hyper.home}.local/share"; dataHome = "${hyper.home}/.local/share";
stateHome = "${hyper.home}.local/state"; stateHome = "${hyper.home}/.local/state";
mimeApps = { mimeApps = {
enable = true; enable = true;
defaultApplications = let defaultApplications = let
browser = "firefox.desktop"; browser = "firefox.desktop";
image = "imv.desktop"; image = "imv.desktop";
in { in {
"default-web-browser" = [ browser ]; "default-web-browser" = [ browser ];
"text/html" = [ browser ]; "text/html" = [ browser ];
"text/htm" = [ browser ]; "text/htm" = [ browser ];
"x-scheme-handler/http" = [ browser ]; "x-scheme-handler/http" = [ browser ];
"x-scheme-handler/https" = [ browser ]; "x-scheme-handler/https" = [ browser ];
"x-scheme-handler/about" = [ browser ]; "x-scheme-handler/about" = [ browser ];
"x-scheme-handler/unknown" = [ browser ]; "x-scheme-handler/unknown" = [ browser ];
"x-scheme-handler/mailto" = "thunderbird.desktop"; "x-scheme-handler/mailto" = "thunderbird.desktop";
"image/png" = image; "image/png" = image;
"image/jpg" = image; "image/jpg" = image;
"image/jpeg" = image; "image/jpeg" = image;
"image/webp" = image; "image/webp" = image;
"image/gif" = image; "image/gif" = image;
"application/pdf" = "zathura.desktop"; "application/pdf" = "zathura.desktop";
"inode/directory" = "thunar.desktop"; "inode/directory" = "thunar.desktop";
}; };
}; };
}; };
} }

View File

@@ -1,39 +1,17 @@
{ pkgs, ... }@all: with all; let { pkgs, ... }@all: with all; let
tfc = pkgs.xdg-desktop-portal-termfilechooser; nox-var = (pkgs.version != "24.05");
tfc = pkgs.unstable.xdg-desktop-portal-termfilechooser;
in { in {
home.packages = [ home.packages = [
pkgs.unar pkgs.unar
tfc tfc
]; ];
programs.yazi = { programs.yazi = {
enable = true; enable = true;
# package = pkgs.yazi; # package = pkgs.yazi;
package = inputs.yazi.packages.${hyper.system}.default; package = inputs.yazi.packages.${hyper.system}.default;
enableFishIntegration = true; enableFishIntegration = true;
shellWrapperName = "ya"; # initLua = /* lua */ '' ''; # down
initLua = /* lua */ ''
require("zoxide"):setup {
update_db = true,
}
Status:children_add(function()
local h = cx.active.current.hovered
if not h or ya.target_family() ~= "unix" then
return ""
end
return ui.Line {
ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
":",
ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
" ",
}
end, 500, Status.RIGHT)
'';
plugins = with pkgs; {
inherit glow git;
};
# initLua = /* lua */ '' '';
keymap = { keymap = {
mgr.keymap = [ mgr.keymap = [
{ on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; } { on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
@@ -403,15 +381,39 @@ in {
]; ];
}; };
}; };
}; } // (if nox-var then {
shellWrapperName = "ya";
initLua = /* lua */ ''
require("zoxide"):setup {
update_db = true,
}
Status:children_add(function()
local h = cx.active.current.hovered
if not h or ya.target_family() ~= "unix" then
return ""
end
return ui.Line {
ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
":",
ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
" ",
}
end, 500, Status.RIGHT)
'';
plugins = with pkgs; {
inherit glow git;
};
} else {});
xdg = { xdg = {
configFile."xdg-desktop-portal-termfilechooser/config" = { configFile."xdg-desktop-portal-termfilechooser/config" = {
force = true; force = true;
text = '' text = ''
[filechooser] [filechooser]
cmd=${tfc}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh cmd=${tfc}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
env=TERMCMD=ghostty --title="terminal-file-picker -e"
default_dir=$HOME default_dir=$HOME
env=TERMCMD=ghostty --title="terminal-file-picker -e"
open_mode=suggested open_mode=suggested
save_mode=last save_mode=last
''; '';

View File

@@ -12,7 +12,7 @@
./home-modules/discord.nix ./home-modules/discord.nix
./home-modules/email.nix ./home-modules/email.nix
./home-modules/figlet.nix ./home-modules/figlet.nix
./home-modules/firefox.nix ./home-modules/firefox/firefox.nix
./home-modules/fish.nix ./home-modules/fish.nix
./home-modules/games.nix ./home-modules/games.nix
./home-modules/gestures.nix ./home-modules/gestures.nix
@@ -42,13 +42,7 @@
./home-modules/pkgs-list/programs.nix ./home-modules/pkgs-list/programs.nix
./home-modules/pkgs-list/shell.nix ./home-modules/pkgs-list/shell.nix
./home-modules/pnx.nix ./home-modules/pnx.nix
./home-modules/programming/c.nix ./home-modules/programming.nix
./home-modules/programming/gleam.nix
./home-modules/programming/glsl.nix
./home-modules/programming/go.nix
./home-modules/programming/java.nix
./home-modules/programming/js.nix
./home-modules/programming/python.nix
./home-modules/qt.nix ./home-modules/qt.nix
./home-modules/rclone.nix ./home-modules/rclone.nix
./home-modules/rofi.nix ./home-modules/rofi.nix
@@ -75,8 +69,8 @@
./home-modules/calendar-campuszeit-fix.nix ./home-modules/calendar-campuszeit-fix.nix
] else []); ] else []);
home.username = hyper.user; home.username = hyper.user;
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here home.homeDirectory = hyper.home;
home.homeDirectory = "/home/${hyper.user}"; # home.homeDirectory = "/home/${hyper.user}";
home.stateVersion = hyper.pkgs-version; home.stateVersion = hyper.pkgs-version;
programs.home-manager.enable = true; programs.home-manager.enable = true;
} }

View File

@@ -1,24 +0,0 @@
{ pkgs, ... }@all: with all;
{
# Simply install just the packages
environment.packages = with pkgs; [
helix
git
lazygit
yazi
];
# Backup etc files instead of failing to activate generation if a file already exists in /etc
environment.etcBackupExtension = ".bak";
# Read the changelog before changing this value
system.stateVersion = pkgs.version;
# Set up nix for flakes
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
# Set your time zone
time.timeZone = "Europe/Berlin";
}

32
nod.nix Normal file
View File

@@ -0,0 +1,32 @@
{ pkgs, ... }@all: with all; {
environment = {
packages = import ./system-modules/base-packages.nix pkgs;
etcBackupExtension = ".bak";
motd = "";
};
terminal = {
font = rice.font.code.regular-path;
};
android-integration = {
termux-setup-storage.enable = true;
};
system.stateVersion = pkgs.version;
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
user ={
shell = "${pkgs.fish}/bin/fish";
# userName = pkgs.lib.mkForce hyper.user; if its read-only, whats the point of this option???
};
# Set your time zone
time.timeZone = "Europe/Berlin";
home-manager = {
config = import ./shell-only.nix;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = { inherit (all) inputs hyper rice; };
};
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
imports = [ imports = [
./home-modules/bash.nix ./home-modules/bash.nix
./home-modules/color-pallete.nix ./home-modules/color-pallete.nix
@@ -13,7 +12,7 @@
./home-modules/nixd.nix ./home-modules/nixd.nix
./home-modules/nxgs.nix ./home-modules/nxgs.nix
./home-modules/pandoc.nix ./home-modules/pandoc.nix
./home-modules/programming/c.nix # ./home-modules/programming/c.nix
./home-modules/programming/gleam.nix ./home-modules/programming/gleam.nix
./home-modules/programming/go.nix ./home-modules/programming/go.nix
./home-modules/programming/java.nix ./home-modules/programming/java.nix
@@ -28,10 +27,11 @@
./home-modules/pkgs-list/shell.nix ./home-modules/pkgs-list/shell.nix
]; ];
home.username = hyper.user; home = {
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here username = hyper.user;
home.homeDirectory = "/home/${hyper.user}"; homeDirectory = hyper.home;
home.stateVersion = hyper.pkgs-version; stateVersion = pkgs.version;
};
xdg = { xdg = {
enable = true; enable = true;
configHome = "${hyper.home}/.config"; configHome = "${hyper.home}/.config";

View File

@@ -58,51 +58,78 @@ sops:
- recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e - recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZWl0RCszNGZqNDhzY25a YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6U0NCaG16bGl4Uy9JdkpV
K2dPTGMvMzBSZytRMWR5d1pkTVpETmNZUTFzCmUrU25XdklVc3NicUV2OVh5bktR alRjakVGQkM4ZzdsWDlJWTFQdlJ3dHB5dm1vCmtHSE9oS1dhc0ZvemVTTFJ3TWJ2
YmZIeGZzYkVJMXRwSkt6bXlaRGpiaEkKLS0tIEZOMDUxaEo1aXRsV050a3I0eFNR YlZZd3VLaXM1dllPVTR1TElQdXIvMHcKLS0tIFoxbnlMVFVWaWp0R1RvSmpNcC9s
UlIxODJVK3lEaC9lWG9wNmhaUWhuZEEKnQT50Svfxgnbo6+gTSGyLW8vt+hzehu5 UDREUnEweDY1UU5QTjEySUdERjEwMkkKCt6wGWglsfmTfnR+qesaxfb0/lKizXjd
djy0wdML7XGORKURUJcAnGCdgsugu7exTBPMeKldlPXySPGUf6vPRA== QnXb7ynqAx+0/mg5QXEE6S9nzfN/Shm84aR98VRptyYeDHk4jZhZxw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6 - recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBISzJjS2t4OFNtd2s3RjE3 YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEbDhLenZ5cTF2RmU3aWFR
V2hOUnByNVp3bjE4a0tPSkdCbXcwU093NGtFCmR2RXdzbTk1RXhQbmdVM0pkdGhE TDN3VXZJamN2WXVGejNqdWZzR1Frb0sxeG0wCk1OaVF4UGJ2elZ3eHBhOU1McjhG
T2VGN1VnYlRqWXRmWEJucTd5eU5HYWsKLS0tIFJRODNibTZNRjZtZjlpN0IzbVZQ TWZqVFZLbW1wVDlhKy9DeU5XQURMT2cKLS0tIHdNQTJkZFg1cS9sdERjZkhYbDJy
aHQwY0l3OTRVYlNSZnBQMGM4ekp0NGMKL0scPlNFywKmdPI3I8sgvmaVXOp6qm2m RWVkczdGZlFQRENkbEdlb1c5bHA4ZEEKPS2AB8yyJ3An7PkWDJQj135MT7NGeOPj
O0N8BuQPEhiZXzNhPBPJnt6e/X+eW35lXdvbQ6AKv791WjZ4OlSZow== dpalfnbvDw6uK9APGGkM35xIKYTy+kal4Qx4U5BAmaH57EWqL22Rpg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk - recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwT2laNmNOYnhON2FEcGxl YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLT0I0MDdUZWRXaFNJN2FK
OVFHa2owL1RCWWNWdDhzZWRlSkhPZmJpQjFvCjNPSGc4L1V5cENBMzY2VU56RnNW bm40a1QwdFdpQ3RManhXYWxmMkZXRGhiaTN3CnRqdmZ1bHhCTXh2c3gxeGJOYS9i
QmNiNGMyZXY0WmN3R0c5YURQN1RGbDQKLS0tIE5lZXZiR2FZVms4YllUd1BsOURD VDNDZWRhT0FYczQ3Q2ExQXBacURZaGsKLS0tIHdwbU5SbVk1YVdqd0l1dUg1bC9v
YTMxdkhkLzNGOWVYQkZJQnVCeW4zcXcKLaGzWYXBaR9mpLE47pWAkYUv/L5JuCR9 eEcydGlvNGcvTGI4OE1jek1WVE5jajQKhgxCDgmRbokbcHG+8OlJYms4NgVaHPqO
ZH2oaOLio6BHY+pf9WbbazbjIKXMZ8KozpLTzbn7ayKYYgGxEiwdIA== feXp9tvnTPpFcGIcN8pBE3ZRRJDshyubR9FyHmfUmSNJTtFOEjhR7g==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq - recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUmxCQ3ZOVGlWUWFkcGk1 YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTkV0MEhqL2NJYTdRWDRl
ZzNaR0R0UG43dkh5Wjd5MmQ5SlkwU0g3c0ZJCnVYZExQdi94ME56eUVwUG5XbjJi aHpJeFNsMjNJUUYxRklIVmZDRHd6NkVrTTBJCnUwMFA5RWxCTTdxcGJSQVExdjcy
OC9OSmZYeHo4anJLb0NQSEs3cmMrS1UKLS0tIFJWU1VYL09SbDlHZlJtRlhmSjFJ Zjg4NW9UQW5BWTI4TzRVS2t4K21oN28KLS0tIDhpUmF2OHlTUnpGVnUrbWNIV3RQ
YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/ eUZ2OC9Za2lJdjdmdWo3UzV3VHVldU0K2txL8P3NxMaTzjo+geMeBZr8fr3iuf6o
A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw== m6L3vbAx/PMgfSVFpV6jZ6lyNfQkyEtP5BIUIWbdX5qdGscfb+Gr4g==
-----END AGE ENCRYPTED FILE-----
- recipient: age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlVktxTmx4QXQrOEhNTCtq
R3FML2ZubHovblU2OTBBQXB1Mkw0OTVqaTNJCkNmeEw2OW9DNm1qcUJFeUYycE15
dmxsYnRyTnp5UkVnWWMzTU1yZTFBZTAKLS0tIGRjK1hrMVBUOTNxSGZ0WmsyRUEy
dWZjOEFQc2lUMnFQNnVLd3NDcjh4NWsKUFIzHvms3UCwDGvWT527vzE1sKPfdmD6
jXw6KUc/AhkVzVndbLxO1pyvP//oj5uPmhF6BwSYOhL/ZBnRtTF2JQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUdjlZeFVnR1k3QzZXUnR5
UVdvTGlYNDdYY0pqV3dZeDFKUnY2Y1E3RUhBCm1UeEVpTEl5a2ExdnVKTllRbndQ
V244Z2FseVJrU3ZsV2k0RGdGWm5NZmsKLS0tIDVVOXU3b1ZMaFhoYXRja0VVNnM4
ZUs5KzQ0QXhCM2dtU29BaEtUUkRIV00KTmwcQmY3nZSNa305kwcKf4RcHMb9CSHr
N59taRkc81uKsMf/Tma5WasrnaHEtE2vd6Kl8rpPw3HcfnpcLjXBPA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jr72q042ccgxpdgdaaev0arzc0vh3r02etv2tzhhsejl0mfaxs3q9hhlaz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrcVlEQU5WcXVpMTdlUjU5
V2U1cXNwdkh6WjNLQVpIUGErZE9QeTIvM25FCmprU1Q3OVBBNFp6MTRZMkZWMjlQ
ZXdQemlXQWlIZk1WUFBZM090NlJ3OTAKLS0tIGtYZHYzZ0t6SmFQV3JoUEp6N2kr
MkZGai9DZ3ZzT0I2MmMwRzVkcFhXdlEKLbM/9kCpiXLW8Me4MDq+JFifG7FhwPZS
5t4zNtuLttY3NUwT9KK4g4P+Yl10oNsjcCbGNYTxlIARFEU+X6zwUQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-09-07T21:03:20Z" lastmodified: "2025-09-07T21:03:20Z"
mac: ENC[AES256_GCM,data:x8eIqQQGxtB5ukScesN1Lf4cFicTOi3VSOr/hFxKzccgwW7HLLEqwjai6e67KUFC2otaN9TR7ft0tUsTVwWRVRCHnpEoQ5KshLHy2zsk+CmPIpWTLCZJBpe154z3rRLlc10DCM7yhqArzepw0HgE4j1knADqLVwC7e0k+o/OmE8=,iv:uXeIv19J3LmYg7gtA2SGUSoMe9uccrvvztlDFSSs1V8=,tag:YTJpZdw1K+7//EARR+MviA==,type:str] mac: ENC[AES256_GCM,data:x8eIqQQGxtB5ukScesN1Lf4cFicTOi3VSOr/hFxKzccgwW7HLLEqwjai6e67KUFC2otaN9TR7ft0tUsTVwWRVRCHnpEoQ5KshLHy2zsk+CmPIpWTLCZJBpe154z3rRLlc10DCM7yhqArzepw0HgE4j1knADqLVwC7e0k+o/OmE8=,iv:uXeIv19J3LmYg7gtA2SGUSoMe9uccrvvztlDFSSs1V8=,tag:YTJpZdw1K+7//EARR+MviA==,type:str]
pgp: pgp:
- created_at: "2025-06-08T12:35:30Z" - created_at: "2025-10-06T11:16:18Z"
enc: |- enc: |-
-----BEGIN PGP MESSAGE----- -----BEGIN PGP MESSAGE-----
hF4DCvJ7ODFw5jQSAQdAw5PIhSmghpU+R4d8A9FY1z9NwN2C1CQvnP0u/D6k9nEw hF4DCvJ7ODFw5jQSAQdAebf7Ev93A/xdNTsw9ioAQTAehE14ZrIZiA9qNv9SjwIw
4jYo133RBpSmZUEOPsrAIGDwcx5rAjIwXtYEUeH3ZR1/0imfyOh0iF0NhEqF5awG zT17RspkPejqo1K54zO3UkkocBZ30gzUkoIdxfISqd58QDHTNEsnoI7mVf8mod/c
0l4BWb/AQFnokqiIuRGQPMqpO6X3m00C2kB79nodaxorhc/WBs4JX3qz89zozsLq 0l4BUCEcibdn1XyQ9y55TbLhn/N6b+BxV9TKpRiFSLXSFIgHTe0PCSBxJkYgckFH
ao8WHHadtQJwBveKurCNHLcr2+vLatPZ93Oo3s/ky+5eB+HrottOC818TIP51tXx ZD0A4PtsylyuVYKKD5/2ZwAKLeAfY6nWBxoQrI6ZpT6i9040Rv2f8s5jJxrStLyx
=8dKb =9nNP
-----END PGP MESSAGE----- -----END PGP MESSAGE-----
fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634 fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted

View File

@@ -1,19 +1,18 @@
{ pkgs, ... }: { pkgs: with pkgs; [
environment.systemPackages = with pkgs; ([ busybox
git # coreutils-full
git-crypt gitFull
lazygit # home-manager module is bugged git-crypt
wget
curlHTTP3
zip
unzip
p7zip
unar
vim
htop
openssl
dmidecode
file
]);
} wget
curlHTTP3
zip
unzip
p7zip
unar
vim
htop
openssl
dmidecode
file
]

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; let
let
grub-theme-ascii-diana = (pkgs.fetchFromGitea { grub-theme-ascii-diana = (pkgs.fetchFromGitea {
domain = "git.${hyper.domain}"; domain = "git.${hyper.domain}";
owner = "nx2"; owner = "nx2";
@@ -9,6 +8,10 @@ let
}); });
device-boot = if hyper.host == "NxNORTH" then { device-boot = if hyper.host == "NxNORTH" then {
kernelPackages = pkgs.linuxPackages_zen; kernelPackages = pkgs.linuxPackages_zen;
kernelParams = [
"fbcon=margin:1"
"fbcon=nodefer"
];
lanzaboote = { lanzaboote = {
enable = true; enable = true;
pkiBundle = "/var/lib/sbctl"; pkiBundle = "/var/lib/sbctl";
@@ -19,7 +22,7 @@ let
configurationLimit = 10; configurationLimit = 10;
}; };
} else if hyper.host == "NxXPS" then { } else if hyper.host == "NxXPS" then {
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
kernelModules = [ "v4l2loopback" ]; kernelModules = [ "v4l2loopback" ];
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1''; extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
@@ -62,8 +65,6 @@ in {
] else []; ] else [];
config = { config = {
environment.systemPackages = with pkgs; lib.mkIf ( host == "NxNORTH" ) [ sbctl ]; environment.systemPackages = with pkgs; lib.mkIf ( host == "NxNORTH" ) [ sbctl ];
boot ={ boot = { tmp.useTmpfs = false; } // device-boot;
tmp.useTmpfs = false;
} // device-boot;
}; };
} }

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = rec { settings = rec {
@@ -10,15 +9,23 @@
default_session = hyprland; default_session = hyprland;
vt = 2; vt = 2;
}; };
# useTextGreeter = true;
}; };
systemd.services.greetd.serviceConfig = { # services.displayManager.ly = {
Type = "idle"; # enable = true;
StandardInput = "tty"; # package = pkgs.ly;
StandardOutput = "tty"; # settings = {
Standarderror = "journal"; # Without this errors will spam on screen # # animation = "matrix";
# Without these bootlogs will spam on screen # # clear_password = true;
TTYReset = true; # clock = "%c";
TTYVHangup = true; # lang = "de";
TTYVTDisallocate = true; # load = true;
}; # # numlock = false;
# save = true;
# };
# };
# environment.systemPackages = with pkgs; [
# cmatrix
# ];
} }

View File

@@ -1,14 +1,8 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
environment.systemPackages = with pkgs; [
gnupg
gpg-tui
];
programs.gnupg = { programs.gnupg = {
dirmngr.enable = true; dirmngr.enable = true;
agent = { agent = {
enable = true; enable = false;
enableSSHSupport = true; enableSSHSupport = true;
enableExtraSocket = true; enableExtraSocket = true;
enableBrowserSocket = true; enableBrowserSocket = true;

View File

@@ -1,54 +1,50 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
imports = [ environment = {
(modulesPath + "/installer/scan/not-detected.nix") systemPackages = with pkgs; [ ntfs3g cryptsetup ];
]; variables = pkgs.lib.mkIf (hyper.host == "NxXPS") {
VDPAU_DRIVER = lib.mkIf config.hardware.graphics.enable (lib.mkDefault "va_gl");
environment.systemPackages = with pkgs; [ };
ntfs3g };
]; boot = {
initrd = {
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
# boot.initrd.kernelModules = [ ]; luks.devices = pkgs.lib.mkIf (hyper.host == "NxXPS") {
boot.kernelModules = [ "kvm-intel" ]; "vault".device = "/dev/nvme0n1p7";
boot.extraModulePackages = [ ]; };
kernelModules = pkgs.lib.mkIf (hyper.host == "NxXPS") [ "i915" "cryptd" ];
fileSystems = if hyper.host != "NxACE" then { };
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; }; kernelModules = [ "kvm-intel" ];
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; }; extraModulePackages = [ ];
"/home/${hyper.user}/shared" = { device = "/dev/disk/by-label/shared"; fsType = "ntfs"; options = [ "uid=1000" "gid=100" ]; }; extraModprobeConfig = pkgs.lib.mkIf (hyper.host == "NxXPS") ''
} else { options iwlwifi 11n_disable=8
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; }; '';
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; }; };
"/vault" = { device = "/dev/disk/by-label/vault"; fsType = "ext4"; }; fileSystems = let
ntfs = { fsType = "ntfs"; options = [ "uid=1000" "gid=100" ]; };
}; in {
"/" = { device = "/dev/disk/by-label/nixos"; fsType = "ext4"; };
"/boot" = { device = "/dev/disk/by-label/EFI"; fsType = "vfat"; };
swapDevices = [ } // (if hyper.host == "NxXPS" then {
{ device = "/dev/disk/by-label/swap"; } "${hyper.home}/shared" = { device = "/dev/disk/by-label/shared"; } // ntfs;
]; "${hyper.home}/vault" = { device = "/dev/disk/by-label/vault"; fsType = "ext4"; };
} else if hyper.host == "NxNORTH" then {
"${hyper.home}/shared" = { device = "/dev/disk/by-label/shared"; } // ntfs;
} else if hyper.host == "NxACE" then {
"/vault" = { device = "/dev/disk/by-label/vault"; fsType = "ext4"; };
} else {});
hardware = {
cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
graphics.extraPackages = with pkgs.lib; mkIf (hyper.host == "NxXPS") [
(if (versionOlder (versions.majorMinor version) "25.05") then pkgs.vaapiIntel else pkgs.intel-vaapi-driver)
pkgs.libvdpau-va-gl
pkgs.intel-media-driver
];
};
swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
services = {
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; thermald.enable = lib.mkDefault true;
upower.enable = true;
# from nixos-hardware };
services.thermald.enable = lib.mkDefault true;
boot.extraModprobeConfig = if hyper.host == "NxXPS" then ''
options iwlwifi 11n_disable=8
'' else "";
boot.initrd.kernelModules = if hyper.host == "NxXPS" then [ "i915" ] else [];
environment.variables = if hyper.host == "NxXPS" then {
VDPAU_DRIVER = lib.mkIf config.hardware.graphics.enable (lib.mkDefault "va_gl");
} else {};
hardware.graphics.extraPackages = if hyper.host == "NxXPS" then with pkgs; [
(if (lib.versionOlder (lib.versions.majorMinor lib.version) "25.05") then vaapiIntel else intel-vaapi-driver)
libvdpau-va-gl
intel-media-driver
] else [];
services.upower.enable = true;
} }

View File

@@ -2,7 +2,7 @@
lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
systemd.timers."health_reminder" = { systemd.timers."health_reminder" = {
enable = true; enable = false;
wantedBy = [ "timers.target" ]; wantedBy = [ "timers.target" ];
timerConfig = { timerConfig = {
OnBootSec = "30m"; OnBootSec = "30m";

View File

@@ -1,6 +1,6 @@
{ config, pkgs, ... }@all: with all; { { config, pkgs, ... }@all: with all; {
networking = { networking = {
nameservers = pkgs.lib.mkIf (hyper.host != "NxWSL") [ # wsl manages resolv.conf nameservers = pkgs.lib.mkIf (hyper.host != "NxDCS") [ # wsl manages resolv.conf
"1.1.1.1" "1.1.1.1"
"8.8.8.8" "8.8.8.8"
]; ];

View File

@@ -1,6 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; lib.mkIf hyper.nvidia.enable {
lib.mkIf hyper.nvidia.enable
{
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
lshw lshw
glxinfo glxinfo

View File

@@ -1,36 +1,39 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{ users = {
users.defaultUserShell = pkgs.bash; # if interactive, itll switch to fish defaultUserShell = pkgs.bash; # if interactive, itll switch to fish
users."${hyper.user}" = {
users.users."${hyper.user}" = { isNormalUser = true;
isNormalUser = true; extraGroups = [
extraGroups = [ # TODO: actually put the groups into the relevant files
# TODO: actually put the groups into the relevant files "acme"
"networkmanager" "adbusers"
"wheel" "audio"
"audio" "audiobookshelf"
"video" "copyparty"
"lp" "docker"
"scanner" "input"
"docker" "libvirtd"
"libvirtd" "lp"
"uinput" "networkmanager"
"input" "nextcloud"
"ydotool" "nginx"
"acme" "postgres"
"nginx" "radicale"
"adbusers" "scanner"
"postgres" "uinput"
"radicale" "video"
"audiobookshelf" "wheel"
"nextcloud" "ydotool"
]; ];
useDefaultShell = true; useDefaultShell = true;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key
]; "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5sYVtPLHXatTjrpol46xr9R4TidcB4t8axO6/ReNNR nxxps-nx2@nxace"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/zcoYuYbamTPMOZPfsP1yQJ5Y6sDlPfBwui8MQjKWn nxnorth-nx2@nxace"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnbJx7nVeVi5jK1Eybm+jQoopiCTslewuHFLv2yCt4f nxdcs-nx2@nxace"
];
};
}; };
programs = { programs = {
bash = { bash = {
interactiveShellInit = '' interactiveShellInit = ''

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all; { pkgs, ... }@all: with all; {
{
imports = [ imports = [
inputs.nixos-wsl.nixosModules.default inputs.nixos-wsl.nixosModules.default
./system-modules/base-packages.nix ./system-modules/base-packages.nix
@@ -8,13 +7,9 @@
./system-modules/gpg.nix ./system-modules/gpg.nix
./system-modules/networking.nix ./system-modules/networking.nix
./system-modules/nixd.nix ./system-modules/nixd.nix
# ./system-modules/sops.nix
# ./system-modules/sshd.nix
# ./system-modules/syncthing.nix
./system-modules/users.nix ./system-modules/users.nix
]; ];
system.stateVersion = pkgs.version; system.stateVersion = pkgs.version;
# system.stateVersion = "24.11";
wsl = { wsl = {
defaultUser = hyper.user; defaultUser = hyper.user;
enable = true; enable = true;
@@ -31,6 +26,5 @@
]; ];
}; };
}; };
nixpkgs.hostPlatform = hyper.system; nixpkgs.hostPlatform = hyper.system;
} }