Compare commits

..

85 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)
ebfd72baa8 wikipedia rice 2025-09-30 00:32:13 +02:00
Lennart J. Kurzweg (Nx2)
6804f98b99 Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-09-30 00:19:47 +02:00
Lennart J. Kurzweg (Nx2)
418dcad22c sops for the stuff below
oops (spotify clinet id etc)
2025-09-30 00:19:45 +02:00
Lennart J. Kurzweg (Nx2)
31925a5074 flake bump 2025-09-30 00:19:04 +02:00
Lennart J. Kurzweg (Nx2)
d3a407f1a5 more rice color pallete 2025-09-30 00:16:39 +02:00
Lennart J. Kurzweg (Nx2)
122a4c6cd8 fix hyprland opacities 2025-09-30 00:11:39 +02:00
Lennart J. Kurzweg (Nx2)
5fda879078 more rice 2025-09-30 00:10:52 +02:00
Lennart J. Kurzweg (Nx2)
7b3d4e5dfd fix yazi tab coloring 2025-09-30 00:09:22 +02:00
Lennart J. Kurzweg (Nx2)
61984aecf9 fix term file chooser 2025-09-30 00:09:11 +02:00
Lennart J. Kurzweg (Nx2)
e422234758 sops use key 13 2025-09-30 00:08:29 +02:00
Lennart J. Kurzweg (Nx2)
b7eb065442 stable opencode 2025-09-30 00:07:48 +02:00
Lennart J. Kurzweg (Nx2)
60b4066e9b lazygit define pkg 2025-09-30 00:07:37 +02:00
Lennart J. Kurzweg (Nx2)
cea416b457 chatterino update 2025-09-30 00:05:15 +02:00
Lennart J. Kurzweg (Nx2)
9d28a08cd4 spotify 2025-09-30 00:04:09 +02:00
Lennart J. Kurzweg (Nx2)
6a4f270959 playerctl 2025-09-30 00:03:30 +02:00
Lennart J. Kurzweg (Nx2)
a4d6b98b4b hyprpanel move media to the left 2025-09-30 00:03:15 +02:00
Lennart J. Kurzweg (Nx2)
ea3d4937ff hyprpanel fix caldav_event polling 2025-09-30 00:02:55 +02:00
Lennart J. Kurzweg (Nx2)
aa6962cb0d twitch oauth chatterino 2025-09-30 00:02:32 +02:00
Lennart J. Kurzweg (Nx2)
fa168f01a6 nxf robustness 2025-09-25 08:03:24 +00:00
Lennart J. Kurzweg (Nx2)
511dac22a8 wsl manages resolv.conf 2025-09-25 07:23:33 +00:00
Lennart J. Kurzweg (Nx2)
74fd62d6dc Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles 2025-09-25 07:20:38 +00:00
Lennart J. Kurzweg (Nx2)
d8704de501 wsl adjustments 2025-09-25 07:20:36 +00:00
Lennart J. Kurzweg (Nx2)
9f49dbbd98 souce hm-session-vars only if user 2025-09-23 15:39:06 +02:00
Lennart J. Kurzweg (Nx2)
caf48a81dd no element hotkey 2025-09-23 15:34:23 +02:00
Lennart J. Kurzweg (Nx2)
9399657469 opaque vesktop 2025-09-23 15:34:11 +02:00
Lennart J. Kurzweg (Nx2)
10a50773e1 xps monitors 2025-09-23 15:33:56 +02:00
Lennart J. Kurzweg (Nx2)
d81aa406a4 nod 2025-09-03 19:46:44 +02:00
54 changed files with 1289 additions and 872 deletions

View File

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

View File

@@ -32,7 +32,6 @@
./system-modules/sops.nix
./system-modules/sound.nix
./system-modules/sshd.nix
./system-modules/base-packages.nix
./system-modules/input.nix
./system-modules/syncthing.nix
./system-modules/tuda.nix
@@ -61,10 +60,14 @@
./system-modules/calendar/dicos.nix
] else [
]);
environment.systemPackages = import ./system-modules/base-packages.nix pkgs;
systemd.extraConfig = "DefaultLimitNOFILE=2048";
system.stateVersion = hyper.pkgs-version;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
programs.bash.shellInit = ''
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
if [[ "$USER" == "${hyper.user}" ]]; then
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
fi
'';
}

View File

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

View File

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

View File

@@ -7,10 +7,24 @@ pkgs: rec {
gap-size = 5;
border-width = 2;
color = let
dark = (-0.5);
bright = (0.5);
alter-set = let f = lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
alter = let f = lib.alter-luminace-hex; in color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
dark = (-0.4);
darker = (-0.6);
bright = 0.4;
brighter = 0.7;
alter-set = let f = lib.alter-luminace-hex; in color-name: color-value: {
base = color-value;
dark = f color-value dark;
darker = f color-value darker;
bright = f color-value bright;
brighter = f color-value brighter;
};
alter = let f = lib.alter-luminace-hex; in color-value: {
base = color-value;
dark = f color-value dark;
darker = f color-value darker;
bright = f color-value bright;
brighter = f color-value brighter;
};
# ccolor = builtins.mapAttrs alter-set (builtins.fromJSON (builtins.readFile ./colors.json));
ccolor = builtins.mapAttrs alter-set {
black = "#040404"; # "#111111" "#001100";
@@ -33,6 +47,7 @@ pkgs: rec {
# tertiary = magenta;
# special = yellow;
# weird = green;
subtle = { darker = "#111111"; dark = "#444444"; base = "#777777"; bright = "#999999"; brighter = "#cccccc"; };
positive = alter "#00dd00";
negative = alter "#dd0000";
border = accent.base;
@@ -40,9 +55,10 @@ pkgs: rec {
};
in ccolor // fcolor // xcolor;
font = {
code = {
code = rec {
name = "JetBrainsMono Nerd Font";
package = pkgs.nerd-fonts.jetbrains-mono;
regular-path = "${package}/share/fonts/truetype/NerdFonts/JetBrainsMonoNerdFont-Regular.ttf";
};
base = {
# name = "NewComputerModern08";

368
flake.lock generated
View File

@@ -20,11 +20,11 @@
]
},
"locked": {
"lastModified": 1755946532,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"lastModified": 1760101617,
"narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"rev": "1826a9923881320306231b1c2090379ebf9fa4f8",
"type": "github"
},
"original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1756320983,
"narHash": "sha256-huaJ1CvBsylibf55pjiFEpiKxYU235iAzwMhJ+iDSjw=",
"lastModified": 1761517857,
"narHash": "sha256-1xYv73nGA+Lm/hKRqjiUyuBzabaRwmeDxBCIMve5CWU=",
"owner": "9001",
"repo": "copyparty",
"rev": "f4f702c39dd2365f6ca43ed6b72a84c708fded8d",
"rev": "e9ab040ce8e72e299a3d8fbd109865b1e218eb57",
"type": "github"
},
"original": {
@@ -153,7 +153,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
@@ -220,11 +220,11 @@
]
},
"locked": {
"lastModified": 1756245065,
"narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=",
"lastModified": 1758463745,
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "54b2879ce622d44415e727905925e21b8f833a98",
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
"type": "github"
},
"original": {
@@ -234,6 +234,27 @@
"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": {
"inputs": {
"hyprlang": [
@@ -279,11 +300,11 @@
]
},
"locked": {
"lastModified": 1755678602,
"narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
"lastModified": 1760445448,
"narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
"rev": "50fb9f069219f338a11cf0bcccb9e58357d67757",
"type": "github"
},
"original": {
@@ -308,11 +329,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1756325904,
"narHash": "sha256-PRz3GE4ZBScWrHTVegpM4B2YLZplp1iPwmZ9AeYBbsg=",
"lastModified": 1761249114,
"narHash": "sha256-KDy8Vtlwe+7Z053HtD4fCRqlHBt0Kils0Zea4D77R7o=",
"ref": "refs/heads/main",
"rev": "378e130f1426648d8d734049800128f9882805bf",
"revCount": 6395,
"rev": "aa5a239ac92a6bd6947cce2ca3911606df392cb6",
"revCount": 6522,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -340,11 +361,11 @@
]
},
"locked": {
"lastModified": 1756325158,
"narHash": "sha256-aJ9jAYtZ64MWBpWPfH1q+t6U9b6kJWc2yK9Vrlj6fZY=",
"lastModified": 1761653710,
"narHash": "sha256-MhHSU9m/9HSckJ61OXcom/6F92NQf3s1QfLbRUApalc=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "bf843fc6adf90d43a5dd7742e9df61d395ba780d",
"rev": "e689220b1740aa99ca67fa06055792f82fa9ed85",
"type": "github"
},
"original": {
@@ -365,11 +386,11 @@
]
},
"locked": {
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"lastModified": 1759610243,
"narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
"type": "github"
},
"original": {
@@ -433,11 +454,11 @@
]
},
"locked": {
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"lastModified": 1759080228,
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
"type": "github"
},
"original": {
@@ -462,11 +483,11 @@
]
},
"locked": {
"lastModified": 1753622892,
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
"lastModified": 1758927902,
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
"type": "github"
},
"original": {
@@ -475,27 +496,6 @@
"type": "github"
}
},
"hyprspace": {
"inputs": {
"hyprland": [
"hyprland"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1754887838,
"narHash": "sha256-npC+H+Wl60EdrV75sjqm+bbbLbKgCCGn4ALSM0B2OWA=",
"owner": "KZDKM",
"repo": "Hyprspace",
"rev": "2b61fd2115262243b03aa9afe8dfd8a78e71636c",
"type": "github"
},
"original": {
"owner": "KZDKM",
"repo": "Hyprspace",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
@@ -508,11 +508,11 @@
]
},
"locked": {
"lastModified": 1756117388,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"lastModified": 1759619523,
"narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef",
"type": "github"
},
"original": {
@@ -570,17 +570,68 @@
"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": {
"inputs": {
"flake-compat": "flake-compat_3",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1755261305,
"narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=",
"lastModified": 1761563673,
"narHash": "sha256-d+1TpVAmRjcNBfjZsh2yQSdwUfN7Xgz1blJ185g73+A=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "203a7b463f307c60026136dd1191d9001c43457f",
"rev": "a518cf710e5ebb935518dc7ac98e07e7ee5014c3",
"type": "github"
},
"original": {
@@ -605,13 +656,45 @@
"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": {
"locked": {
"lastModified": 1756326156,
"narHash": "sha256-EvRCnKAE5oL9wOIT/LrA5+pJVpTvhH71OReJDTOZDyk=",
"lastModified": 1761810199,
"narHash": "sha256-iMLB/90mK7lncjk3GVYlAmN1K+D6/7JVhOSau3O7eK0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "636dea4f2cd65b8c558149a957423da47c1cbc95",
"rev": "d03f6e8ae73c291f8088abf52ae378c448a2cce3",
"type": "github"
},
"original": {
@@ -639,11 +722,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1756266583,
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
"lastModified": 1761672384,
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
"type": "github"
},
"original": {
@@ -652,13 +735,29 @@
"type": "indirect"
}
},
"nixpkgs_2": {
"nixpkgs24": {
"locked": {
"lastModified": 1756266583,
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
"lastModified": 1735563628,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
"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"
},
"original": {
@@ -686,11 +785,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1754725699,
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
"lastModified": 1761373498,
"narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
"rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce",
"type": "github"
},
"original": {
@@ -702,11 +801,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1756217674,
"narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=",
"lastModified": 1761468971,
"narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620",
"rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e",
"type": "github"
},
"original": {
@@ -717,11 +816,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1752596105,
"narHash": "sha256-lFNVsu/mHLq3q11MuGkMhUUoSXEdQjCHvpReaGP1S2k=",
"lastModified": 1756288264,
"narHash": "sha256-Om8adB1lfkU7D33VpR+/haZ2gI5r3Q+ZbIPzE5sYnwE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dab3a6e781554f965bde3def0aa2fda4eb8f1708",
"rev": "ddd1826f294a0ee5fdc198ab72c8306a0ea73aa9",
"type": "github"
},
"original": {
@@ -731,6 +830,60 @@
"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": {
"inputs": {
"flake-compat": "flake-compat",
@@ -741,11 +894,11 @@
]
},
"locked": {
"lastModified": 1755960406,
"narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
"lastModified": 1760663237,
"narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
"rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37",
"type": "github"
},
"original": {
@@ -785,14 +938,16 @@
"inputs": {
"copyparty": "copyparty",
"home-manager": "home-manager",
"home-manager24": "home-manager24",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"hyprspace": "hyprspace",
"lanzaboote": "lanzaboote",
"nix-on-droid": "nix-on-droid",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_5",
"nixpkgs-latest": "nixpkgs-latest",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgs24": "nixpkgs24",
"sops-nix": "sops-nix",
"yazi": "yazi"
}
@@ -826,11 +981,11 @@
]
},
"locked": {
"lastModified": 1752633862,
"narHash": "sha256-Bj7ozT1+5P7NmvDcuAXJvj56txcXuAhk3Vd9FdWFQzk=",
"lastModified": 1756348497,
"narHash": "sha256-xJp3VnoYh4kpsaKFO/7SsGbwOz7pI1ZmjbqpXEuR2cw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "8668ca94858206ac3db0860a9dec471de0d995f8",
"rev": "0adf92c70d23fb4f703aea5d3ebb51ac65994f7f",
"type": "github"
},
"original": {
@@ -839,6 +994,22 @@
"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": {
"inputs": {
"nixpkgs": [
@@ -846,11 +1017,11 @@
]
},
"locked": {
"lastModified": 1754988908,
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
"lastModified": 1760998189,
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github"
},
"original": {
@@ -875,21 +1046,6 @@
}
},
"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": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -932,11 +1088,11 @@
]
},
"locked": {
"lastModified": 1755354946,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
"lastModified": 1760713634,
"narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
"rev": "753bbbdf6a052994da94062e5b753288cef28dfb",
"type": "github"
},
"original": {
@@ -952,11 +1108,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1756309929,
"narHash": "sha256-udly1zNvxR6UKFZSkbutSEZ9EihUd+pPCDBaseppB5s=",
"lastModified": 1761655046,
"narHash": "sha256-lG7eQqs8HDmmOl6vFkJ1iDlQBR+jY30uD4YtvWulCZc=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "dd7afaa64aa54fac5bd30404eb44ccd9d68f31c5",
"rev": "564b8851961a7545a93ebf04c0f8dd5778d0eccb",
"type": "github"
},
"original": {

View File

@@ -2,23 +2,44 @@
description = "Multisystem NixOS Flake of Lennart J. Kurzweg";
inputs = {
nixpkgs = { url = "nixpkgs/nixos-25.05"; };
nixpkgs-unstable = { url = "nixpkgs/nixos-unstable"; };
nixpkgs-latest = { url = "github:nixos/nixpkgs?ref=master"; };
nixpkgs.url = "nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
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"; };
lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; };
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; };
hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };
hyprspace = { url = "github:KZDKM/Hyprspace"; inputs.hyprland.follows = "hyprland"; };
sops-nix ={
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
yazi = { url = "github:sxyazi/yazi"; };
copyparty = { url = "github:9001/copyparty"; };
lanzaboote.url = "github:nix-community/lanzaboote/v0.4.2";
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
@@ -28,20 +49,19 @@
config = { allowUnfreePredicate = pkg: builtins.elem (simple-pkgs.lib.getName pkg) (import ./flake-modules/allowed.nix).unfree; };
hyper-base = rec {
inherit system;
system = "x86_64-linux";
user = "nx2";
domain = "nx2.site";
home = "/home/${user}/";
home = "/home/${user}";
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;
overlays = [(final: prev: {
unstable = import nixpkgs-unstable { inherit system config; };
latest = import nixpkgs-latest { inherit system config; };
version = "25.05";
inherit version;
})] ++ (if host == "NxACE" then [
copyparty.overlays.default
] else []);
@@ -53,36 +73,58 @@
in {
nixosConfigurations = let
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
pkgs = my-pkgs host;
pkgs = get-pkgs { inherit host; };
modules = [ ./configuration.nix ];
specialArgs = let
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
in { inherit inputs hyper rice secrets; };
};
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
pkgs = my-pkgs host;
modules = [ ./nixos-wsl.nix ];
pkgs = get-pkgs { inherit host; };
modules = [ ./wsl.nix ];
specialArgs = let
hyper = hyper-base // { inherit host; };
rice = import ./flake-modules/rice.nix pkgs;
in { inherit inputs hyper rice; };
};
in {
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
NxNORTH = make-nixos-system "NxNORTH" { enable = true; prime = 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
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
pkgs = my-pkgs host;
pkgs = get-pkgs { inherit host; };
modules = [ ./home.nix ];
extraSpecialArgs = let
hyper = hyper-base // { inherit host; nvidia = nvidia-base // nvidia-settings; };
in { inherit inputs hyper rice secrets; };
};
make-shell-configuration = host: user: home-manager.lib.homeManagerConfiguration {
pkgs = my-pkgs host;
pkgs = get-pkgs { inherit host; };
modules = [ ./shell-only.nix ];
extraSpecialArgs = let
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}@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;
};
};
}

Binary file not shown.

View File

@@ -120,7 +120,7 @@ if __name__ == "__main__":
else:
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

@@ -27,7 +27,7 @@
"custom/caldav_event" = {
execute = "caldav_event";
label = "󰃰 {}";
interval = 1000;
interval = 60000;
hideOnEmpty = false;
actions = {};
};
@@ -51,12 +51,12 @@
# "bluetooth"
"network"
"windowtitle"
"media"
];
"middle" = [ "workspaces" ];
"right" = [
"submap"
"custom/caldav_event"
"media"
"custom/cclock"
"notifications"
"systray"
@@ -425,8 +425,8 @@
"theme.bar.menus.menu.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.button" = accent.dark;
"theme.bar.menus.menu.notifications.pager.label" = accent.base;
"theme.bar.menus.menu.notifications.pager.button" = 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.switch.disabled" = accent.base;
"theme.bar.menus.menu.notifications.switch_divider" = accent.base;
@@ -492,12 +492,12 @@
"theme.notification.actions.background" = background;
"theme.notification.actions.text" = foreground;
"theme.notification.background" = background;
"theme.notification.border" = accent.base;
"theme.notification.border" = border;
"theme.notification.close_button.background" = accent.dark;
"theme.notification.close_button.label" = accent.base;
"theme.notification.label" = accent.base;
"theme.notification.label" = accent.bright;
"theme.notification.labelicon" = accent.base;
"theme.notification.opacity" = 1.0;
"theme.notification.opacity" = 100;
"theme.notification.text" = foreground;
"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;
shellAliases = {
ll = "ls -l";
@@ -15,5 +19,10 @@
"checkjobs"
];
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;
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";
url = "https://ics.tools/Feiertage/hessen.ics";
@@ -54,13 +61,6 @@
read-only = true;
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 = {
# name =

View File

@@ -6,7 +6,7 @@ let
# "asmongold"
# "Caedrel"
# "EintrachtSpandau"
"GamesDoneQuick"
# "GamesDoneQuick"
"Odoamne"
"iwdominate"
"imls"
@@ -20,13 +20,13 @@ let
"lol_nemesis"
# "NASA"
"NoWay4u_Sir"
"OfficialMikeShinoda"
# "OfficialMikeShinoda"
"Rekkles"
"riotgames"
"thebausffs"
"ThePrimeagen"
"Tolkin"
# "TSM_ImperialHal"
"imperialhal__"
"velja_lol"
# "Xisuma"
"zackrawrr"
@@ -46,7 +46,7 @@ let
};
};
in {
sops.secrets."streamlink/twitch-oauth" = { path = "%r/secrets/streamlink/twich-oauth"; };
# sops.secrets."streamlink/twitch-oauth" = { path = "%r/secrets/streamlink/twich-oauth"; };
home = {
packages = with pkgs; [
@@ -207,7 +207,7 @@ in {
"external": {
"streamlink": {
"quality": "",
"options": "--config ${hyper.home}.config/streamlink/config"
"options": "--config ${hyper.home}/.config/streamlink/config"
}
}
}

View File

@@ -3,20 +3,30 @@
home.file.".config/color-pallete.html".text = with rice.color; let
cb = color-set: color-name: size: /* html */ ''
<div class="color-container" style="border-color: ${color-set.base}">
<div class="color-box" style="background: ${color-set.darker}; height: ${builtins.toString size}px;">
<p style="color: ${color-set.bright}"> ${color-name}.darker </p>
<p sktyle="color: ${color-set.bright}"> ${color-set.darker} </p>
</div>
<div class="color-box" style="background: ${color-set.dark}; height: ${builtins.toString size}px;">
<p style="color: ${color-set.bright}"> ${color-name}.dark </p>
<p style="color: ${color-set.bright}"> ${color-set.dark} </p>
<p style="color: ${color-set.brighter}"> ${color-name}.dark </p>
<p style="color: ${color-set.brighter}"> ${color-set.dark} </p>
</div>
<div class="color-box" style="background: ${color-set.base}; height: ${builtins.toString size}px;">
<p class="dynamic-text"> ${color-name}.base </p>
<p class="dynamic-text"> ${color-set.base} </p>
</div>
<div class="color-box" style="background: ${color-set.bright}; height: ${builtins.toString size}px;">
<p style="color: ${color-set.dark}"> ${color-name}.bright </p>
<p style="color: ${color-set.dark}"> ${color-set.bright} </p>
<p style="color: ${color-set.darker}"> ${color-name}.bright </p>
<p style="color: ${color-set.darker}"> ${color-set.bright} </p>
</div>
<div class="color-box" style="background: ${color-set.brighter}; height: ${builtins.toString size}px;">
<p style="color: ${color-set.dark}"> ${color-name}.brighter </p>
<p style="color: ${color-set.dark}"> ${color-set.brighter} </p>
</div>
</div>
'';
rgb = rice.lib.hex-to-rgb-comma-string;
s = builtins.toString;
in /* html */ ''
<!DOCTYPE html>
<head>
@@ -30,27 +40,26 @@
padding: 0px;
}
html {
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency});
padding: auto;
background: transparent;
}
body {
font-family: ${rice.font.base.name};
color: ${foreground};
width: fit-content;
margin: 10px auto 10px auto;
background: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency});
border: ${builtins.toString rice.border-width}px solid ${border};
border-radius: ${builtins.toString rice.rounding}px;
padding: ${builtins.toString rice.gap-size}px;
background: rgba(${rgb background},${s rice.transparency});
border: ${s rice.border-width}px solid ${border};
border-radius: ${s rice.rounding}px;
padding: ${s rice.gap-size}px;
}
h1 {
margin: ${builtins.toString rice.gap-size}px;
margin: ${s rice.gap-size}px;
}
.color-container {
font-family: ${rice.font.code.name};
display: flex;
gap: ${builtins.toString rice.gap-size}px;
margin: ${builtins.toString rice.gap-size}px;
gap: ${s rice.gap-size}px;
margin: ${s rice.gap-size}px;
}
.color-box {
width: 200px;
@@ -58,7 +67,7 @@
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: ${builtins.toString rice.rounding}px;
border-radius: ${s rice.rounding}px;
}
</style>
</head>
@@ -67,8 +76,9 @@
${cb accent "accent" 100}
${cb secondary "secondary" 100}
${cb tertiary "tertiary" 100}
${cb weird "weird" 100}
${cb special "special" 100}
${cb weird "weird" 80}
${cb special "special" 80}
${cb subtle "subtle" 80}
<br>
${cb positive "positive" 70}
${cb negative "negative" 70}

View File

@@ -1,7 +1,4 @@
{ 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/
{
{ pkgs, ... }@all: with all; {
programs.firefox.profiles."{hyper.user}".settings = {
"widget.use-xdg-desktop-portal.file-picker" = 1;
};
@@ -9,272 +6,11 @@
packages = with pkgs; [
firefox
];
file = with rice.color; let
blur = builtins.toString 20;
in {
".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(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;
# }
# }
file = {
".mozilla/firefox/${hyper.user}/chrome/userChrome.css".text = import ./userChrome.nix rice;
".mozilla/firefox/${hyper.user}/chrome/userContent.css".text = import ./userContent.nix rice;
};
};
}
# 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;
{
home.packages = with pkgs; [
fish
any-nix-shell
(writeShellScriptBin "nxfetch" ''
(writeShellScriptBin "nxfetch" /* bash */ ''
logo=$(echo -e "
OS
DE/WM
TERM
SHELL
ISHELL
KERNEL
EDITOR
TFM
PROMPT
OS
DE/WM
TERM
SHELL
ISHELL
KERNEL
EDITOR
TFM
PROMPT
" | lolcat --force 2> /dev/null)
" | lolcat --force 2> /dev/null)
msg="
$(echo -e "$logo" | sed -n 3p): $(cat /etc/*-release | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev)
$(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^}
$(echo -e "$logo" | sed -n 5p): ''${TERM^}
$(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 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\U&/')
$(echo -e "$logo" | sed -n 8p): ''$(uname -r)
$(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 "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/')
"
echo -e "$msg"
release_line=$(cat /etc/*-release 2> /dev/null || echo 'PRETTY_NAME="[No Release]"')
msg="
$(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 4p): ''${XDG_CURRENT_DESKTOP^}
$(echo -e "$logo" | sed -n 5p): ''${TERM^}
$(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 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\U&/')
$(echo -e "$logo" | sed -n 8p): ''$(uname -r | sed -E 's=(.+-.+-.+-.+)-.+=\1=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 10p): $(yazi --version | sed -E 's-(.*?) \(.*-\1-g')
$(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1 | sed 's/./\U&/')
"
echo -e "$msg"
'')
];
@@ -38,6 +39,7 @@
programs.fish = {
enable = true;
package = pkgs.fish;
shellAliases = let
base-eza = "eza --icons --git --smart-group --group-directories-first";
in {
@@ -85,6 +87,7 @@
d = "docker";
dcmp = "docker compose";
stui = "sudo systemctl-tui";
wlc = "wl-copy";
# nxsent = ''sent -c \${rice.color.foreground} -b \${rice.color.background}'';
# ya = "yazi"; # function
@@ -112,7 +115,7 @@
'';
nx_backup = let
destination = if hyper.host == "NxNORTH" then "${hyper.home}/shared/" else "${hyper.home}/backups/";
in pkgs.lib.mkIf (hyper.host != "NxACE") ''
in pkgs.lib.mkIf (hyper.host == "NxXPS" || hyper.host == "NxNORTH") ''
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}
'';

View File

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

View File

@@ -21,16 +21,17 @@
};
extraConfig = {
credential = {
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxWSL") "lkurzweg";
"https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxWSL") "Test";
"https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxDCS") "lkurzweg";
"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/";
pull.rebase = false; # true
};
};
programs.lazygit = {
enable = true;
package = pkgs.lazygit;
settings = {
windowSize = "normal";
gui.theme = with rice.color; {

View File

@@ -1,16 +1,36 @@
{ pkgs, ... }@all: with all;
{
# there also is a system module
home.packages = with pkgs; [
gnupg
gpg-tui
pinentry-all
];
services.gpg-agent = let
min2sec = min: (min * 60);
in {
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [ pinentry-all ];
programs.gpg = {
enable = true;
package = pkgs.gnupg;
homedir = "${hyper.home}/vault/gnupg";
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
min2sec = min: (min * 60);
in {
enable = false;
verbose = true;
sshKeys = [
"97081264F7FD72D890D496E839AA9A4C7892A7D8" # Keygrip (not Fingerprint!) of [A] Subkey
@@ -19,35 +39,8 @@
enableFishIntegration = true;
defaultCacheTtlSsh = min2sec 60;
defaultCacheTtl = min2sec 30;
pinentry = {
package = pkgs.pinentry;
program = "pinentry";
};
extraConfig = ''
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 = {
packages = with pkgs; [
# nixfmt-classic # nix formater
@@ -205,18 +204,18 @@
language = [
{
name = "nix";
language-servers = [
"nixd"
# "llm"
];
language-servers = [ "nixd" ];
}
{
name = "latex";
language-servers = [ "texlab" "language-tool" ];
}
{
name = "typst";
language-servers = [ "language-tool" "tinymist" ];
}
{
name = "markdown";
# language-servers = [ "marksman" "style-check" "language-tool" ];
language-servers = [ "language-tool" "marksman" ];
file-types = [ "md" "MD" ];
scope = "text.<name>";
@@ -436,8 +435,8 @@
fg = black.bright;
};
"ui.virtual.inlay-hint" = {
fg = background;
bg = tertiary.dark;
fg = subtle.base;
bg = subtle.dark;
};
"ui.virtual.ruler" = {
bg = background;

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }@all: with all;
let
{ pkgs, ... }@all: with all; let
animation-speed = "5";
transparency = builtins.toString rice.transparency;
terminal = "ghostty";
@@ -7,7 +6,7 @@ let
monitors = {
xps = {
main = { name = "eDP-1"; resolution = "1920x1200"; position = "1920x1080"; scale = "1.0"; };
second = { name = "DP-5"; resolution = "1920x1080"; position = "1920x0"; scale = "1.0"; };
second = { name = "desc:Sony SONY TV 0x01010101"; resolution = "1920x1080"; position = "1920x0"; scale = "1.0"; };
third = { name = "DP-6"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
};
north = {
@@ -15,12 +14,11 @@ let
left = { name = "desc:Philips Consumer Electronics Company 273PLPH AU11423002132"; resolution = "1920x1080"; position = "0x0"; scale = "1.0"; };
# right = { name = "HDMI-A-2"; resolution = "1920x1080"; position = "4480x360"; scale = "1.0"; };
};
ace = {
main = { name = "HDMI-A-1"; resolution = "3840x2160"; position = "0x0"; scale = "2.0"; };
};
ace.main = { name = "HDMI-A-1"; resolution = "3840x2160"; position = "0x0"; scale = "2.0"; };
};
in {
home.packages = with pkgs; [
xdg-desktop-portal-hyprland
hyprland-protocols
hyprlock
hypridle
@@ -43,7 +41,7 @@ in {
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
# inputs.hycov.packages.${pkgs.system}.hycov
pkgs.hyprlandPlugins.hyprspace
# pkgs.hyprlandPlugins.hyprspace
# inputs.hyprspace.packages.${pkgs.system}.Hyprspace
];
@@ -226,7 +224,7 @@ in {
];
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]"
"rounding 0, floating:0, onworkspace:w[tv1]"
@@ -258,16 +256,15 @@ in {
"opacity ${transparency}, class:^(Code)$"
"opacity ${transparency}, class:^(code-oss)$"
"opacity ${transparency}, class:^(discord)$"
"opacity ${transparency}, class:^(vesktop)$"
# "opacity ${transparency}, class:^(vesktop)$"
# "opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(lutris)$"
"opacity ${transparency}, class:^(neovide)$"
# "opacity ${transparency}, class:^(obsidian)$"
"opacity ${transparency}, class:^(vesktop)$"
"opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, title:^(wlogout)$"
"opaque, title:^(GNU Image Manipulation Program)$"
"opaque, fullscreen:1"
"pin, title:^(Picture-in-Picture)$"
@@ -279,6 +276,7 @@ in {
"dimaround, title:^(terminal-file-picker)$"
"center, title:^(terminal-file-picker)$"
"size 80% 80%, title:^(terminal-file-picker)$"
"size: 30% 30%, initialTitle:^(Select Calendar)$"
];
@@ -363,7 +361,7 @@ in {
"SUPER, Q, killactive"
"SUPER, W, exec, submap_indicator set '󰈹 '"
"SUPER, W, submap, browserSM "
"SUPER, E, exec, element-desktop"
# "SUPER, E, exec, element-desktop"
"SUPER, R, exec, rofi -show drun"
# "SUPER, T, exec, alacritty"
# "SUPER SHIFT, T, exec, alacritty -e sh -c "ssh nxace""
@@ -374,7 +372,7 @@ in {
"SUPER, I, exec, ${terminal-exec}'hx ~/nix-dots/ && fish'"
"SUPER SHIFT, I, exec, ${terminal-exec}'nh home switch || read'"
"SUPER CTRL, I, exec, ${terminal-exec}'nh os switch || read'"
"SUPER, O, exec, obsidian "
# "SUPER, O, exec, obsidian "
"SUPER, P, pin "
# "SUPER, Ü,"
# "SUPER, +,"
@@ -410,7 +408,7 @@ in {
"SUPER, C, exec, chatterino"
"SUPER SHIFT, C, exec, hyprpicker -n -a"
"SUPER, V, togglefloating, "
"SUPER, B, exec, bitwarden"
# "SUPER, B, exec, bitwarden"
"SUPER, N, togglesplit"
# "SUPER, M, exec, /home/nx2/scripts/meme-full-screen/meme-full-screen.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 ];
services.mako = with rice; {
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 = " ";
in {
home = {

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }@all: with all; {
home = {
packages = with pkgs; [
latest.opencode
opencode
];
file.".config/opencode/opencode.json".text = let
model = "qwen2.5-coder:7b";

View File

@@ -1,5 +1,6 @@
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
xdg-desktop-portal
brightnessctl
blueman
fontpreview
@@ -7,10 +8,11 @@
gsettings-desktop-schemas
imv
pavucontrol
# playerctl
playerctl
swww
wev
wl-clipboard
xclip
wlr-randr
];
}

View File

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

View File

@@ -2,6 +2,7 @@
home.packages = with pkgs; [
bat
cmake
cmatrix
dig
du-dust
dysk
@@ -33,6 +34,7 @@
systemctl-tui
tldr
w3m
which
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;
{
home = {
packages = with pkgs; [
go
];
{ pkgs, ... }@all: with all; {
programs.go = {
enable = true;
package = pkgs.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 = {
pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
};
secrets.pass = "/run/user/1000/secrets/copyparty/user-password/${hyper.user}";
};
};
};

View File

@@ -1,23 +1,7 @@
{ pkgs, ... }@all: with all;
{
imports = [
inputs.sops-nix.homeManagerModules.sops
];
{ pkgs, ... }@all: with all; {
imports = [ inputs.sops-nix.homeManagerModules.sops ];
sops = {
age.keyFile = lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
gnupg.home = lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
age.keyFile = "${hyper.home}/vault/age/sopsnix-${hyper.host}-home.key";
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";
# };
};
};
}

56
home-modules/spotify.nix Normal file
View File

@@ -0,0 +1,56 @@
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
unstable.spotify
];
services.librespot = {
enable = true;
package = pkgs.unstable.librespot;
};
sops.secrets."spotify/spotiy-player-clinet-id" = { path = "%r/secrets/spotify/spotiy-player-clinet-id"; };
programs.spotify-player = {
enable = true;
package = pkgs.unstable.spotify-player;
settings = {
border_type = "Rounded";
client_id_command = "cat $XDG_RUNTIME_DIR/secrets/spotify/spotiy-player-clinet-id";
copy_command.command = "wl-copy";
cover_img_length = 20;
cover_img_scale = 1; # if this is not 1 it doesnt fit in the box (for me)
cover_img_width = 9; # this ratio depends on your terminal font
device.normalization = true;
genre_num = 32; # all of them
liked_icon = "";
name = "spotify-player-${hyper.host}";
pause_icon = "";
playback_window_position = "Bottom";
play_icon = "";
progress_bar_position = "Right"; # "Bottom"
progress_bar_type = "Rectangle"; # "Line"
theme = "${hyper.user}";
};
themes = [{
name = "${hyper.user}";
component_style = with rice.color; {
block_title = { fg = accent.bright; };
border = { fg = border; };
current_playing = { fg = special.base; bg = special.darker; modifiers = ["Italic"]; };
like = { fg = positive.base; };
lyrics_played = { fg = subtle.base; };
lyrics_playing = { fg = special.base; };
page_desc = { fg = secondary.base; };
playback_album = { fg = secondary.base; };
playback_artists = { fg = secondary.base; };
playback_genres = { fg = subtle.base; };
playback_metadata = { fg = accent.base; bg = background; };
playback_progress_bar = { fg = accent.brighter; bg = accent.dark; modifiers = ["Bold"]; };
playback_status = { fg = accent.bright; };
playback_track = { fg = accent.bright; modifiers = ["Bold"]; };
secondary_row = { fg = secondary.base; };
selection = { bg = accent.dark; };
table_header = { fg = tertiary.bright; };
# playback_progress_bar_unfilled (Specific to progress_bar_type as Line) = "";
};
}];
};
}

View File

@@ -1,27 +1,37 @@
{ pkgs, ... }@all: with all;
{
home = {
packages = with pkgs; [ sshfs ];
file.".ssh/config".text = ''
HOST nxace
HostName ssh.${hyper.domain}
User ${hyper.user}
Port 50022
HOST nxacel
HostName 10.0.1.1
User ${hyper.user}
Port 50022
HOST nxrpil
HostName 10.0.1.31
User ${hyper.user}
Port 22
HOST nxgit
HostName ssh.${hyper.domain}
User git
Port 50022
'';
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [ sshfs ];
programs.ssh = {
enable = true;
package = pkgs.openssh;
addKeysToAgent = "yes";
matchBlocks = let
nxace = name: {
host = name;
hostname = "ssh.${hyper.domain}";
user = "nx2";
port = 50022;
identityFile = "${hyper.home}/vault/ssh/nxace-nx2-${hyper.host}";
};
in {
"*".identityFile = [
"${hyper.home}/vault/ssh/nxgit-nx2-${hyper.host}"
"${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}"
"${hyper.home}/vault/ssh/tg-dm-informatik-tuda"
];
"github.com".identityFile = [ "${hyper.home}/vault/ssh/github-noggynoggy-${hyper.host}" ];
"nxace" = nxace "nxace";
"nxacel" = (nxace "nxacel") // { hostname = "10.0.1.1"; };
"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; {
xdg = {
enable = true;
configHome = "${hyper.home}.config";
cacheHome = "${hyper.home}.cache";
dataHome = "${hyper.home}.local/share";
stateHome = "${hyper.home}.local/state";
configHome = "${hyper.home}/.config";
cacheHome = "${hyper.home}/.cache";
dataHome = "${hyper.home}/.local/share";
stateHome = "${hyper.home}/.local/state";
mimeApps = {
enable = true;
defaultApplications = let
browser = "firefox.desktop";
image = "imv.desktop";
in {
"default-web-browser" = [ browser ];
"text/html" = [ browser ];
"text/htm" = [ browser ];
"x-scheme-handler/http" = [ browser ];
"x-scheme-handler/https" = [ browser ];
"x-scheme-handler/about" = [ browser ];
"x-scheme-handler/unknown" = [ browser ];
"x-scheme-handler/mailto" = "thunderbird.desktop";
"image/png" = image;
"image/jpg" = image;
"image/jpeg" = image;
"image/webp" = image;
"image/gif" = image;
"application/pdf" = "zathura.desktop";
"inode/directory" = "thunar.desktop";
};
browser = "firefox.desktop";
image = "imv.desktop";
in {
"default-web-browser" = [ browser ];
"text/html" = [ browser ];
"text/htm" = [ browser ];
"x-scheme-handler/http" = [ browser ];
"x-scheme-handler/https" = [ browser ];
"x-scheme-handler/about" = [ browser ];
"x-scheme-handler/unknown" = [ browser ];
"x-scheme-handler/mailto" = "thunderbird.desktop";
"image/png" = image;
"image/jpg" = image;
"image/jpeg" = image;
"image/webp" = image;
"image/gif" = image;
"application/pdf" = "zathura.desktop";
"inode/directory" = "thunar.desktop";
};
};
};
}

View File

@@ -1,39 +1,17 @@
{ pkgs, ... }@all: with all; let
tfc = pkgs.latest.xdg-desktop-portal-termfilechooser;
nox-var = (pkgs.version != "24.05");
tfc = pkgs.unstable.xdg-desktop-portal-termfilechooser;
in {
home.packages = [
pkgs.unar
tfc
];
programs.yazi = {
enable = true;
# package = pkgs.yazi;
package = inputs.yazi.packages.${hyper.system}.default;
enableFishIntegration = true;
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;
};
# initLua = /* lua */ '' '';
# initLua = /* lua */ '' ''; # down
keymap = {
mgr.keymap = [
{ on = "<Esc>"; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
@@ -331,7 +309,7 @@ in {
border_style = { fg = border; };
};
tabs = {
active = { fg = accent.dark; bg = accent.base; };
active = { fg = secondary.dark; bg = secondary.base; };
inactive = { fg = secondary.base; bg = secondary.dark; };
# sep_inner =
# sep_outer =
@@ -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 = {
configFile."xdg-desktop-portal-termfilechooser/config" = {
force = true;
text = ''
[filechooser]
cmd=${tfc}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh
env=TERMCMD=ghostty --title="terminal-file-picker -e"
default_dir=$HOME
env=TERMCMD=ghostty --title="terminal-file-picker -e"
open_mode=suggested
save_mode=last
'';
@@ -420,7 +422,14 @@ in {
enable = true;
xdgOpenUsePortal = true;
config.common."org.freedesktop.impl.portal.FileChooser" = "termfilechooser";
extraPortals = [ tfc ];
extraPortals = [ tfc ] ++ (with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
xdg-desktop-portal-wlr
]);
};
};
home.sessionVariables."GTK_USE_PORTAL" = "1";

View File

@@ -12,7 +12,7 @@
./home-modules/discord.nix
./home-modules/email.nix
./home-modules/figlet.nix
./home-modules/firefox.nix
./home-modules/firefox/firefox.nix
./home-modules/fish.nix
./home-modules/games.nix
./home-modules/gestures.nix
@@ -42,19 +42,14 @@
./home-modules/pkgs-list/programs.nix
./home-modules/pkgs-list/shell.nix
./home-modules/pnx.nix
./home-modules/programming/c.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/programming.nix
./home-modules/qt.nix
./home-modules/rclone.nix
./home-modules/rofi.nix
./home-modules/scanning.nix
./home-modules/sent.nix
./home-modules/sops.nix
./home-modules/spotify.nix
./home-modules/ssh.nix
./home-modules/starship.nix
./home-modules/tts.nix
@@ -74,8 +69,8 @@
./home-modules/calendar-campuszeit-fix.nix
] else []);
home.username = hyper.user;
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
home.homeDirectory = "/home/${hyper.user}";
home.homeDirectory = hyper.home;
# home.homeDirectory = "/home/${hyper.user}";
home.stateVersion = hyper.pkgs-version;
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 = [
./home-modules/bash.nix
./home-modules/color-pallete.nix
@@ -13,7 +12,7 @@
./home-modules/nixd.nix
./home-modules/nxgs.nix
./home-modules/pandoc.nix
./home-modules/programming/c.nix
# ./home-modules/programming/c.nix
./home-modules/programming/gleam.nix
./home-modules/programming/go.nix
./home-modules/programming/java.nix
@@ -28,10 +27,11 @@
./home-modules/pkgs-list/shell.nix
];
home.username = hyper.user;
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
home.homeDirectory = "/home/${hyper.user}";
home.stateVersion = pkgs.version;
home = {
username = hyper.user;
homeDirectory = hyper.home;
stateVersion = pkgs.version;
};
xdg = {
enable = true;
configHome = "${hyper.home}/.config";

View File

@@ -21,6 +21,8 @@ weechat:
passphrase: ENC[AES256_GCM,data:3NVhMouf3wwMJTZCvIjbi5fjHJHxe25Q+wRo,iv:W8cShdM3iUyEiRCPNupMin3gfF+cqGxslD18CAvUW4c=,tag:DXBATGEhHjhXqy+J9BNVwg==,type:str]
streamlink:
twitch-oauth: ENC[AES256_GCM,data:SvV0CBVL6MO0zqiRg2Ns00KNHLDfzgNObse5F69n,iv:h0DFbwIVKfJSoVowgO3voAOdHXIsw1D3O/aweFRVKcI=,tag:PW0gc+gzlfdOUvIoYIkywg==,type:str]
spotify:
spotiy-player-clinet-id: ENC[AES256_GCM,data:hJpLMgWKzPpqTffr80Jh65Zl3MzKGXiMb8x2F1CxuSQ=,iv:Q8TdEZiAtcdkndsKmvCAlnuu+i60xXUBX6I6VSxwQow=,tag:CIeaJbkMeqRoWnuOgERHYw==,type:str]
nx2site:
cloudflare:
api-token-dns-edit: ENC[AES256_GCM,data:fR4fH6NqwtHI8aebEwjUn5JMoy3q3GXgu/dREe8JK7yRBIOhJ8BKuw==,iv:fQqLRYCN/7zhpHzYxMcn8q1aA7x4qd3qWGgrFWn2E/U=,tag:GJ1muJG755ch/84Sgcf2Vw==,type:str]
@@ -56,51 +58,78 @@ sops:
- recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZWl0RCszNGZqNDhzY25a
K2dPTGMvMzBSZytRMWR5d1pkTVpETmNZUTFzCmUrU25XdklVc3NicUV2OVh5bktR
YmZIeGZzYkVJMXRwSkt6bXlaRGpiaEkKLS0tIEZOMDUxaEo1aXRsV050a3I0eFNR
UlIxODJVK3lEaC9lWG9wNmhaUWhuZEEKnQT50Svfxgnbo6+gTSGyLW8vt+hzehu5
djy0wdML7XGORKURUJcAnGCdgsugu7exTBPMeKldlPXySPGUf6vPRA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6U0NCaG16bGl4Uy9JdkpV
alRjakVGQkM4ZzdsWDlJWTFQdlJ3dHB5dm1vCmtHSE9oS1dhc0ZvemVTTFJ3TWJ2
YlZZd3VLaXM1dllPVTR1TElQdXIvMHcKLS0tIFoxbnlMVFVWaWp0R1RvSmpNcC9s
UDREUnEweDY1UU5QTjEySUdERjEwMkkKCt6wGWglsfmTfnR+qesaxfb0/lKizXjd
QnXb7ynqAx+0/mg5QXEE6S9nzfN/Shm84aR98VRptyYeDHk4jZhZxw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBISzJjS2t4OFNtd2s3RjE3
V2hOUnByNVp3bjE4a0tPSkdCbXcwU093NGtFCmR2RXdzbTk1RXhQbmdVM0pkdGhE
T2VGN1VnYlRqWXRmWEJucTd5eU5HYWsKLS0tIFJRODNibTZNRjZtZjlpN0IzbVZQ
aHQwY0l3OTRVYlNSZnBQMGM4ekp0NGMKL0scPlNFywKmdPI3I8sgvmaVXOp6qm2m
O0N8BuQPEhiZXzNhPBPJnt6e/X+eW35lXdvbQ6AKv791WjZ4OlSZow==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEbDhLenZ5cTF2RmU3aWFR
TDN3VXZJamN2WXVGejNqdWZzR1Frb0sxeG0wCk1OaVF4UGJ2elZ3eHBhOU1McjhG
TWZqVFZLbW1wVDlhKy9DeU5XQURMT2cKLS0tIHdNQTJkZFg1cS9sdERjZkhYbDJy
RWVkczdGZlFQRENkbEdlb1c5bHA4ZEEKPS2AB8yyJ3An7PkWDJQj135MT7NGeOPj
dpalfnbvDw6uK9APGGkM35xIKYTy+kal4Qx4U5BAmaH57EWqL22Rpg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwT2laNmNOYnhON2FEcGxl
OVFHa2owL1RCWWNWdDhzZWRlSkhPZmJpQjFvCjNPSGc4L1V5cENBMzY2VU56RnNW
QmNiNGMyZXY0WmN3R0c5YURQN1RGbDQKLS0tIE5lZXZiR2FZVms4YllUd1BsOURD
YTMxdkhkLzNGOWVYQkZJQnVCeW4zcXcKLaGzWYXBaR9mpLE47pWAkYUv/L5JuCR9
ZH2oaOLio6BHY+pf9WbbazbjIKXMZ8KozpLTzbn7ayKYYgGxEiwdIA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLT0I0MDdUZWRXaFNJN2FK
bm40a1QwdFdpQ3RManhXYWxmMkZXRGhiaTN3CnRqdmZ1bHhCTXh2c3gxeGJOYS9i
VDNDZWRhT0FYczQ3Q2ExQXBacURZaGsKLS0tIHdwbU5SbVk1YVdqd0l1dUg1bC9v
eEcydGlvNGcvTGI4OE1jek1WVE5jajQKhgxCDgmRbokbcHG+8OlJYms4NgVaHPqO
feXp9tvnTPpFcGIcN8pBE3ZRRJDshyubR9FyHmfUmSNJTtFOEjhR7g==
-----END AGE ENCRYPTED FILE-----
- recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUmxCQ3ZOVGlWUWFkcGk1
ZzNaR0R0UG43dkh5Wjd5MmQ5SlkwU0g3c0ZJCnVYZExQdi94ME56eUVwUG5XbjJi
OC9OSmZYeHo4anJLb0NQSEs3cmMrS1UKLS0tIFJWU1VYL09SbDlHZlJtRlhmSjFJ
YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/
A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTkV0MEhqL2NJYTdRWDRl
aHpJeFNsMjNJUUYxRklIVmZDRHd6NkVrTTBJCnUwMFA5RWxCTTdxcGJSQVExdjcy
Zjg4NW9UQW5BWTI4TzRVS2t4K21oN28KLS0tIDhpUmF2OHlTUnpGVnUrbWNIV3RQ
eUZ2OC9Za2lJdjdmdWo3UzV3VHVldU0K2txL8P3NxMaTzjo+geMeBZr8fr3iuf6o
m6L3vbAx/PMgfSVFpV6jZ6lyNfQkyEtP5BIUIWbdX5qdGscfb+Gr4g==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-08-06T22:09:56Z"
mac: ENC[AES256_GCM,data:s3lBIa/Y0fjtFFTDggC+Oxd9T5A1al9ULh4VM78vS+A6nmCZWdezLkY1CwXPrCcrwYQtnKrj5N4Y1jQQmEkF1UIcgkvH7ZQsT7MOJyvWhZUx2/wIg1DwcdlHYJAiwFkIkZ1fEvE4m/uDCWA8xO4qWU4NJaxPzTyapPKKF4VwkNs=,iv:tqDVOQlwS+CMzX8MxrBRPjBVj1Svx91eQx2xamAsSiE=,tag:VJf1at+026fQJ5ML2D/PEg==,type:str]
- 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-----
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]
pgp:
- created_at: "2025-06-08T12:35:30Z"
- created_at: "2025-10-06T11:16:18Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DCvJ7ODFw5jQSAQdAw5PIhSmghpU+R4d8A9FY1z9NwN2C1CQvnP0u/D6k9nEw
4jYo133RBpSmZUEOPsrAIGDwcx5rAjIwXtYEUeH3ZR1/0imfyOh0iF0NhEqF5awG
0l4BWb/AQFnokqiIuRGQPMqpO6X3m00C2kB79nodaxorhc/WBs4JX3qz89zozsLq
ao8WHHadtQJwBveKurCNHLcr2+vLatPZ93Oo3s/ky+5eB+HrottOC818TIP51tXx
=8dKb
hF4DCvJ7ODFw5jQSAQdAebf7Ev93A/xdNTsw9ioAQTAehE14ZrIZiA9qNv9SjwIw
zT17RspkPejqo1K54zO3UkkocBZ30gzUkoIdxfISqd58QDHTNEsnoI7mVf8mod/c
0l4BUCEcibdn1XyQ9y55TbLhn/N6b+BxV9TKpRiFSLXSFIgHTe0PCSBxJkYgckFH
ZD0A4PtsylyuVYKKD5/2ZwAKLeAfY6nWBxoQrI6ZpT6i9040Rv2f8s5jJxrStLyx
=9nNP
-----END PGP MESSAGE-----
fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634
unencrypted_suffix: _unencrypted

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,36 +1,39 @@
{ pkgs, ... }@all: with all;
{
users.defaultUserShell = pkgs.bash; # if interactive, itll switch to fish
users.users."${hyper.user}" = {
isNormalUser = true;
extraGroups = [
# TODO: actually put the groups into the relevant files
"networkmanager"
"wheel"
"audio"
"video"
"lp"
"scanner"
"docker"
"libvirtd"
"uinput"
"input"
"ydotool"
"acme"
"nginx"
"adbusers"
"postgres"
"radicale"
"audiobookshelf"
"nextcloud"
];
useDefaultShell = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID1RPCcS8DtIf75a2FEW4d8X6WTVeLlmretoLqppvZlJ" # From [A] GPG Sub Key
];
{ pkgs, ... }@all: with all; {
users = {
defaultUserShell = pkgs.bash; # if interactive, itll switch to fish
users."${hyper.user}" = {
isNormalUser = true;
extraGroups = [
# TODO: actually put the groups into the relevant files
"acme"
"adbusers"
"audio"
"audiobookshelf"
"copyparty"
"docker"
"input"
"libvirtd"
"lp"
"networkmanager"
"nextcloud"
"nginx"
"postgres"
"radicale"
"scanner"
"uinput"
"video"
"wheel"
"ydotool"
];
useDefaultShell = true;
openssh.authorizedKeys.keys = [
"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 = {
bash = {
interactiveShellInit = ''

View File

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