diff --git a/.sops.yaml b/.sops.yaml
index 0f00d93..5694f7e 100644
--- a/.sops.yaml
+++ b/.sops.yaml
@@ -2,6 +2,8 @@ keys:
- &users:
- &nx2 22FB2CC03DC5292AB81CF67D0AF27B383170E634
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
+ - &xps-home age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
+ - &ace-home age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
- &hosts:
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
@@ -14,5 +16,7 @@ creation_rules:
- *xps
- *ace
- *nx2_key_13
+ - *xps-home
+ - *ace-home
pgp:
- *nx2
diff --git a/configuration.nix b/configuration.nix
index 45330d1..0bcd6f0 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -66,6 +66,8 @@
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
'';
}
diff --git a/flake-modules/rice.nix b/flake-modules/rice.nix
index 12cfc31..717aa19 100644
--- a/flake-modules/rice.nix
+++ b/flake-modules/rice.nix
@@ -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;
diff --git a/flake.lock b/flake.lock
index d02a02c..77ca2a3 100644
--- a/flake.lock
+++ b/flake.lock
@@ -20,11 +20,11 @@
]
},
"locked": {
- "lastModified": 1755946532,
- "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
+ "lastModified": 1759499898,
+ "narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
"owner": "hyprwm",
"repo": "aquamarine",
- "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
+ "rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
"type": "github"
},
"original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
- "lastModified": 1756320983,
- "narHash": "sha256-huaJ1CvBsylibf55pjiFEpiKxYU235iAzwMhJ+iDSjw=",
+ "lastModified": 1759705705,
+ "narHash": "sha256-ckBnfbxbT7VU7ay0c5jkstAZHrC4xDpEHgnQo99OdEw=",
"owner": "9001",
"repo": "copyparty",
- "rev": "f4f702c39dd2365f6ca43ed6b72a84c708fded8d",
+ "rev": "20ac117c3272da50ce125795d831ac55f29e766d",
"type": "github"
},
"original": {
@@ -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": {
@@ -321,11 +321,11 @@
]
},
"locked": {
- "lastModified": 1755678602,
- "narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=",
+ "lastModified": 1759490292,
+ "narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
"owner": "hyprwm",
"repo": "hyprgraphics",
- "rev": "157cc52065a104fc3b8fa542ae648b992421d1c7",
+ "rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
"type": "github"
},
"original": {
@@ -350,11 +350,11 @@
"xdph": "xdph"
},
"locked": {
- "lastModified": 1756325904,
- "narHash": "sha256-PRz3GE4ZBScWrHTVegpM4B2YLZplp1iPwmZ9AeYBbsg=",
+ "lastModified": 1759837778,
+ "narHash": "sha256-K/F/ndJszKrbhhCcQEpLU3jrDSapQCprgNYJscHZYf0=",
"ref": "refs/heads/main",
- "rev": "378e130f1426648d8d734049800128f9882805bf",
- "revCount": 6395,
+ "rev": "5ba2d2217b649c4ca2db7e3f383b3f6af6e70d65",
+ "revCount": 6484,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -382,11 +382,11 @@
]
},
"locked": {
- "lastModified": 1756325158,
- "narHash": "sha256-aJ9jAYtZ64MWBpWPfH1q+t6U9b6kJWc2yK9Vrlj6fZY=",
+ "lastModified": 1759748449,
+ "narHash": "sha256-9I7KVSR7PsSaahM6CbxUyjXSRAY/4+29rFblZDqHPFE=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
- "rev": "bf843fc6adf90d43a5dd7742e9df61d395ba780d",
+ "rev": "7be897d6ae765fab756c0b7e6b91e8c5b39a419e",
"type": "github"
},
"original": {
@@ -475,11 +475,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": {
@@ -504,11 +504,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": {
@@ -525,11 +525,11 @@
"systems": "systems_2"
},
"locked": {
- "lastModified": 1754887838,
- "narHash": "sha256-npC+H+Wl60EdrV75sjqm+bbbLbKgCCGn4ALSM0B2OWA=",
+ "lastModified": 1759033501,
+ "narHash": "sha256-QhcOFLJYC9CiSVPkci62ghMEAJChzl+L98To1pKvnRQ=",
"owner": "KZDKM",
"repo": "Hyprspace",
- "rev": "2b61fd2115262243b03aa9afe8dfd8a78e71636c",
+ "rev": "e54884da1d6a1af76af9d053887bf3750dd554fd",
"type": "github"
},
"original": {
@@ -550,11 +550,11 @@
]
},
"locked": {
- "lastModified": 1756117388,
- "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
+ "lastModified": 1759490926,
+ "narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=",
"owner": "hyprwm",
"repo": "hyprutils",
- "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
+ "rev": "94cce794344538c4d865e38682684ec2bbdb2ef3",
"type": "github"
},
"original": {
@@ -667,11 +667,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
- "lastModified": 1755261305,
- "narHash": "sha256-EOqCupB5X5WoGVHVcfOZcqy0SbKWNuY3kq+lj1wHdu8=",
+ "lastModified": 1759833546,
+ "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=",
"owner": "nix-community",
"repo": "NixOS-WSL",
- "rev": "203a7b463f307c60026136dd1191d9001c43457f",
+ "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730",
"type": "github"
},
"original": {
@@ -730,11 +730,11 @@
},
"nixpkgs-latest": {
"locked": {
- "lastModified": 1756326156,
- "narHash": "sha256-EvRCnKAE5oL9wOIT/LrA5+pJVpTvhH71OReJDTOZDyk=",
+ "lastModified": 1759851983,
+ "narHash": "sha256-5tYg4TRly5I8LOagO5X0dArUOht023mevqr3qlVghb0=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "636dea4f2cd65b8c558149a957423da47c1cbc95",
+ "rev": "7eb8a3cd795b18e7ac26c9cba411e1f588257a62",
"type": "github"
},
"original": {
@@ -762,11 +762,11 @@
},
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1756266583,
- "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
+ "lastModified": 1759733170,
+ "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
+ "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
"type": "github"
},
"original": {
@@ -793,11 +793,11 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1756266583,
- "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
+ "lastModified": 1759381078,
+ "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2",
+ "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {
@@ -825,11 +825,11 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1754725699,
- "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
+ "lastModified": 1759733170,
+ "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
+ "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
"type": "github"
},
"original": {
@@ -841,11 +841,11 @@
},
"nixpkgs_5": {
"locked": {
- "lastModified": 1756217674,
- "narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=",
+ "lastModified": 1759735786,
+ "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620",
+ "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff",
"type": "github"
},
"original": {
@@ -856,11 +856,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": {
@@ -934,11 +934,11 @@
]
},
"locked": {
- "lastModified": 1755960406,
- "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=",
+ "lastModified": 1758108966,
+ "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
"owner": "cachix",
"repo": "git-hooks.nix",
- "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2",
+ "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
"type": "github"
},
"original": {
@@ -1022,11 +1022,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": {
@@ -1058,11 +1058,11 @@
]
},
"locked": {
- "lastModified": 1754988908,
- "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
+ "lastModified": 1759635238,
+ "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
+ "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133",
"type": "github"
},
"original": {
@@ -1164,11 +1164,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
- "lastModified": 1756309929,
- "narHash": "sha256-udly1zNvxR6UKFZSkbutSEZ9EihUd+pPCDBaseppB5s=",
+ "lastModified": 1759765472,
+ "narHash": "sha256-YYfXBsw57fH6s/hXR24rv8/nr35oQl1CBH7p4WcK8RA=",
"owner": "sxyazi",
"repo": "yazi",
- "rev": "dd7afaa64aa54fac5bd30404eb44ccd9d68f31c5",
+ "rev": "554cb52cc581df9a41e0778ebd448925cd3aca55",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index e7cb16a..dd1b337 100644
--- a/flake.nix
+++ b/flake.nix
@@ -74,7 +74,7 @@
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
@@ -116,7 +116,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 { user = hyper.user; host = "NxWSL"; inherit pkgs; };
+ "${hyper-base.user}@NxDCS" = make-shell-configuration "NxDCS" hyper-base.user;
};
};
}
diff --git a/git-crypt/secrets.nix b/git-crypt/secrets.nix
index ef17bb3..63bb135 100644
Binary files a/git-crypt/secrets.nix and b/git-crypt/secrets.nix differ
diff --git a/home-modules/bar/hyprpanel.nix b/home-modules/bar/hyprpanel.nix
index 128719d..ab9267b 100644
--- a/home-modules/bar/hyprpanel.nix
+++ b/home-modules/bar/hyprpanel.nix
@@ -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"
diff --git a/home-modules/calendar.nix b/home-modules/calendar.nix
index 0ae3cd7..7808e18 100644
--- a/home-modules/calendar.nix
+++ b/home-modules/calendar.nix
@@ -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 = "#7b99a6";
+ 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 =
diff --git a/home-modules/chatterino.nix b/home-modules/chatterino.nix
index 2faa000..c2370e4 100644
--- a/home-modules/chatterino.nix
+++ b/home-modules/chatterino.nix
@@ -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"
}
}
}
diff --git a/home-modules/color-pallete.nix b/home-modules/color-pallete.nix
index ea4696c..30616cc 100644
--- a/home-modules/color-pallete.nix
+++ b/home-modules/color-pallete.nix
@@ -3,20 +3,30 @@
home.file.".config/color-pallete.html".text = with rice.color; let
cb = color-set: color-name: size: /* html */ ''
+
+
${color-name}.darker
+
${color-set.darker}
+
-
${color-name}.dark
-
${color-set.dark}
+
${color-name}.dark
+
${color-set.dark}
${color-name}.base
${color-set.base}
-
${color-name}.bright
-
${color-set.bright}
+
${color-name}.bright
+
${color-set.bright}
+
+
+
${color-name}.brighter
+
${color-set.brighter}
'';
+ rgb = rice.lib.hex-to-rgb-comma-string;
+ s = builtins.toString;
in /* html */ ''
@@ -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;
}
@@ -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}
${cb positive "positive" 70}
${cb negative "negative" 70}
diff --git a/home-modules/firefox.nix b/home-modules/firefox.nix
index 363e78a..6c4362f 100644
--- a/home-modules/firefox.nix
+++ b/home-modules/firefox.nix
@@ -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/
diff --git a/home-modules/firefox/firefox.nix b/home-modules/firefox/firefox.nix
new file mode 100644
index 0000000..211cce0
--- /dev/null
+++ b/home-modules/firefox/firefox.nix
@@ -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; };
+ };
+}
diff --git a/home-modules/firefox/userChrome.nix b/home-modules/firefox/userChrome.nix
new file mode 100644
index 0000000..27b2309
--- /dev/null
+++ b/home-modules/firefox/userChrome.nix
@@ -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;
+ }
+''
diff --git a/home-modules/firefox/userContent.nix b/home-modules/firefox/userContent.nix
new file mode 100644
index 0000000..4fa10d9
--- /dev/null
+++ b/home-modules/firefox/userContent.nix
@@ -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;
+ # }
+ # }
diff --git a/home-modules/fish.nix b/home-modules/fish.nix
index 6e0b154..1fe1333 100644
--- a/home-modules/fish.nix
+++ b/home-modules/fish.nix
@@ -3,33 +3,35 @@
home.packages = with pkgs; [
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"
'')
];
diff --git a/home-modules/git.nix b/home-modules/git.nix
index eda9977..1e9d2d5 100644
--- a/home-modules/git.nix
+++ b/home-modules/git.nix
@@ -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; {
diff --git a/home-modules/gpg.nix b/home-modules/gpg.nix
index ddd18b0..4980f1b 100644
--- a/home-modules/gpg.nix
+++ b/home-modules/gpg.nix
@@ -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
@@ -22,33 +42,5 @@
extraConfig = ''
allow-loopback-pinentry
'';
- } // (if (pkgs.version != "24.05") then {
- pinentry = {
- package = pkgs.pinentry;
- program = "pinentry";
- };
- } else {});
-
- 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
- '';
+ };
}
diff --git a/home-modules/helix.nix b/home-modules/helix.nix
index a7fbd30..6b96360 100644
--- a/home-modules/helix.nix
+++ b/home-modules/helix.nix
@@ -436,8 +436,8 @@
fg = black.bright;
};
"ui.virtual.inlay-hint" = {
- fg = background;
- bg = tertiary.dark;
+ fg = subtle.base;
+ bg = subtle.dark;
};
"ui.virtual.ruler" = {
bg = background;
diff --git a/home-modules/hyprland.nix b/home-modules/hyprland.nix
index 0e5cdfb..5cb951d 100644
--- a/home-modules/hyprland.nix
+++ b/home-modules/hyprland.nix
@@ -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
@@ -258,16 +256,16 @@ 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)$"
@@ -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""
diff --git a/home-modules/nx-gcal-event.nix b/home-modules/nx-gcal-event.nix
index 5c14580..f172ed5 100644
--- a/home-modules/nx-gcal-event.nix
+++ b/home-modules/nx-gcal-event.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }@all: with all;
+{ pkgs, ... }@all: with all; let
sep = " ";
in {
home = {
diff --git a/home-modules/opencode.nix b/home-modules/opencode.nix
index 7865a61..4030b94 100644
--- a/home-modules/opencode.nix
+++ b/home-modules/opencode.nix
@@ -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";
diff --git a/home-modules/pkgs-list/desktop.nix b/home-modules/pkgs-list/desktop.nix
index d718c52..ea526de 100644
--- a/home-modules/pkgs-list/desktop.nix
+++ b/home-modules/pkgs-list/desktop.nix
@@ -1,5 +1,6 @@
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
+ xdg-desktop-portal
brightnessctl
blueman
fontpreview
@@ -7,7 +8,7 @@
gsettings-desktop-schemas
imv
pavucontrol
- # playerctl
+ playerctl
swww
wev
wl-clipboard
diff --git a/home-modules/pkgs-list/programs.nix b/home-modules/pkgs-list/programs.nix
index c936a71..91f65d6 100644
--- a/home-modules/pkgs-list/programs.nix
+++ b/home-modules/pkgs-list/programs.nix
@@ -1,9 +1,12 @@
{ 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 [
diff --git a/home-modules/programming.nix b/home-modules/programming.nix
new file mode 100644
index 0000000..886de76
--- /dev/null
+++ b/home-modules/programming.nix
@@ -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
+ ];
+}
diff --git a/home-modules/programming/rust.nix b/home-modules/programming/rust.nix
new file mode 100644
index 0000000..d00e5dd
--- /dev/null
+++ b/home-modules/programming/rust.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }@all: with all; {
+ home = {
+ packages = with pkgs; [
+ cargo
+ clippy
+ rustc
+ rustfmt
+ rust-analyzer
+ ];
+ };
+}
diff --git a/home-modules/rclone.nix b/home-modules/rclone.nix
index fee8dfc..1ee415d 100644
--- a/home-modules/rclone.nix
+++ b/home-modules/rclone.nix
@@ -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}";
};
};
};
diff --git a/home-modules/sops.nix b/home-modules/sops.nix
index 1def120..bc34252 100644
--- a/home-modules/sops.nix
+++ b/home-modules/sops.nix
@@ -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";
- # };
- };
};
}
diff --git a/home-modules/spotify.nix b/home-modules/spotify.nix
new file mode 100644
index 0000000..1ef4a6d
--- /dev/null
+++ b/home-modules/spotify.nix
@@ -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) = "";
+ };
+ }];
+ };
+}
diff --git a/home-modules/ssh.nix b/home-modules/ssh.nix
index cc9bb78..5a67b59 100644
--- a/home-modules/ssh.nix
+++ b/home-modules/ssh.nix
@@ -1,27 +1,38 @@
-{ pkgs, ... }@all: with all;
-{
- home = {
- packages = with pkgs; [ openssh sshfs ];
- file.".ssh/config".text = ''
- HOST nxace
- HostName ssh.${hyper.domain}
- User nx2
- Port 50022
-
- HOST nxacel
- HostName 10.0.1.1
- User nx2
- Port 50022
-
- HOST nxrpil
- HostName 10.0.1.31
- User nx2
- 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 = hyper.user;
+ 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"
+ ];
+ };
+ "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;
};
}
diff --git a/home-modules/xdg.nix b/home-modules/xdg.nix
index 7286973..64ba151 100644
--- a/home-modules/xdg.nix
+++ b/home-modules/xdg.nix
@@ -8,25 +8,25 @@
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";
+ };
};
};
}
diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix
index 4618df6..4f6ce0e 100644
--- a/home-modules/yazi.nix
+++ b/home-modules/yazi.nix
@@ -1,12 +1,11 @@
{ pkgs, ... }@all: with all; let
- tfc = pkgs.latest.xdg-desktop-portal-termfilechooser;
- x = (pkgs.version != "24.05");
+ nox-var = (pkgs.version != "24.05");
+ tfc = pkgs.xdg-desktop-portal-termfilechooser;
in {
home.packages = [
pkgs.unar
tfc
];
-
programs.yazi = {
enable = true;
# package = pkgs.yazi;
@@ -310,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 =
@@ -382,7 +381,7 @@ in {
];
};
};
- } // (if x then {
+ } // (if nox-var then {
shellWrapperName = "ya";
initLua = /* lua */ ''
require("zoxide"):setup {
@@ -423,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";
diff --git a/home.nix b/home.nix
index 194c3dc..a35891f 100644
--- a/home.nix
+++ b/home.nix
@@ -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;
}
diff --git a/nixos-wsl.nix b/nixos-wsl.nix
index dc484cd..c6a4ab6 100644
--- a/nixos-wsl.nix
+++ b/nixos-wsl.nix
@@ -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;
}
diff --git a/shell-only.nix b/shell-only.nix
index 0d085c9..478735c 100644
--- a/shell-only.nix
+++ b/shell-only.nix
@@ -1,5 +1,4 @@
-{ pkgs, ... }@all: with all;
-{
+{ ... }@all: with all; {
imports = [
./home-modules/bash.nix
./home-modules/color-pallete.nix
@@ -28,10 +27,11 @@
./home-modules/pkgs-list/shell.nix
];
- home.username = hyper.user;
- home.homeDirectory = hyper.home;
- # home.homeDirectory = "/home/${hyper.user}";
- home.stateVersion = pkgs.version;
+ home = {
+ username = hyper.user;
+ homeDirectory = hyper.home;
+ stateVersion = hyper.pkgs-version;
+ };
xdg = {
enable = true;
configHome = "${hyper.home}/.config";
diff --git a/sops-secrets.yaml b/sops-secrets.yaml
index da36693..ea8f94e 100644
--- a/sops-secrets.yaml
+++ b/sops-secrets.yaml
@@ -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,69 @@ sops:
- recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZWl0RCszNGZqNDhzY25a
- K2dPTGMvMzBSZytRMWR5d1pkTVpETmNZUTFzCmUrU25XdklVc3NicUV2OVh5bktR
- YmZIeGZzYkVJMXRwSkt6bXlaRGpiaEkKLS0tIEZOMDUxaEo1aXRsV050a3I0eFNR
- UlIxODJVK3lEaC9lWG9wNmhaUWhuZEEKnQT50Svfxgnbo6+gTSGyLW8vt+hzehu5
- djy0wdML7XGORKURUJcAnGCdgsugu7exTBPMeKldlPXySPGUf6vPRA==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxODZibjJwSGRJYVpyRXFh
+ UmFmRVIwOGhFaHhpb05iRGtTSnV0UUlkOUd3CnFiOTJ4cTN0OHYvQTlScy9NYXAr
+ a1A1YzFkdkttenhRa1NIUnhuVEZiLzgKLS0tIFVkTDRZNWhHeHN3MWNTSHJRbSs0
+ Nk5FcnBaSkhWcXZaeCtQMDJaVEc1aEEK71jQkA/mOqNIdcNYHDnb43MEVKyNIOpT
+ 8J/CV6U5M+YGNvkHXafNFccHKY8dFPVDzcJl0lthECjcGrplzNEWNw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBISzJjS2t4OFNtd2s3RjE3
- V2hOUnByNVp3bjE4a0tPSkdCbXcwU093NGtFCmR2RXdzbTk1RXhQbmdVM0pkdGhE
- T2VGN1VnYlRqWXRmWEJucTd5eU5HYWsKLS0tIFJRODNibTZNRjZtZjlpN0IzbVZQ
- aHQwY0l3OTRVYlNSZnBQMGM4ekp0NGMKL0scPlNFywKmdPI3I8sgvmaVXOp6qm2m
- O0N8BuQPEhiZXzNhPBPJnt6e/X+eW35lXdvbQ6AKv791WjZ4OlSZow==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBK0dKQWQyOW8xQ0RMOXlv
+ SStnV0R1QWNlZlVrUGdqSTVUSUJHL09RQW5BCk1OL2NLVFk1R1kzTjc1OUR5TmVC
+ MXI0ZnoxcVRoNHFOa2FJT0RvOUtTakUKLS0tIC82QzlJT0RjVHo0aXZOckNNNElO
+ WjZEL0NzL0NzOUdMK3FaOE5Ub2x5OXcKOAahFXWAQNagHz2G+O1TPiKB7UqUl8p2
+ K89cGfal6M2ui403lb2ygEi+v6K908Kh9MzGaDtR0r2k7kGQS4aFmg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwT2laNmNOYnhON2FEcGxl
- OVFHa2owL1RCWWNWdDhzZWRlSkhPZmJpQjFvCjNPSGc4L1V5cENBMzY2VU56RnNW
- QmNiNGMyZXY0WmN3R0c5YURQN1RGbDQKLS0tIE5lZXZiR2FZVms4YllUd1BsOURD
- YTMxdkhkLzNGOWVYQkZJQnVCeW4zcXcKLaGzWYXBaR9mpLE47pWAkYUv/L5JuCR9
- ZH2oaOLio6BHY+pf9WbbazbjIKXMZ8KozpLTzbn7ayKYYgGxEiwdIA==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNGhjNHlubGp3QzRkRy9i
+ UmM0ZlE5UUxhM0tCeHkwOUt2VEt1YldnNnhrCnZHWlpWZ3BpZ1BlYTlVVmFZQ2Q4
+ RlF5UldLdDNOZTB6UDlBcldqRmhyTDQKLS0tIG5OZjZkdnNnbTZ2K3kzNGdqdGFE
+ RUdad1FHMTVFVU8xRmpCdHRnK0Z5ZkkKb+25mUdPRozNnyPXGCJOe+xtsOZVe4oy
+ SDpdoSASzq2uljMxVPyINJcbEThJriZAzC30Qt2aroc2zo3dnsnVMg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUmxCQ3ZOVGlWUWFkcGk1
- ZzNaR0R0UG43dkh5Wjd5MmQ5SlkwU0g3c0ZJCnVYZExQdi94ME56eUVwUG5XbjJi
- OC9OSmZYeHo4anJLb0NQSEs3cmMrS1UKLS0tIFJWU1VYL09SbDlHZlJtRlhmSjFJ
- YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/
- A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArV094ZWwvTzJuYlE1Um14
+ K09wUlcxdFc1eFB3bXgrSXlRK3ZRSnB1QXhBClhNZVFIRHBVUGkwOVk3ejc5b0FN
+ cEtkSTFHZ1FWUDQzZUJBbHRsMnhWMUkKLS0tIDhQWGpvV01TRHY0VnJCclRsVHl6
+ YkZJWm5xWlh2NmtibnVPYSs2QjF0TW8KRj+d44ttYXoElSzxv6n4u9NL/aeXJQpc
+ Fc0797glPXgInJZkQSzCmjKs6LzY82I5D34evwuFzuwD/TMAGyo0/g==
-----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+IFgyNTUxOSAreTRVWkxiNnZKeFFiNVA2
+ ZldmbXpUN2lyYjh0M0ZNSHpHRGk0aHpkUUZzCmhrZnBTWTlTYU13K2YwNFVCT1px
+ ZUhWODQrZHlIR2RQOFhmUXY2NXI3QUkKLS0tIHlDcnI0dGt3a2h6a3l1YkRMNkVr
+ QVRCdkMza3JDb01mdW5mbTZtbFVVR3MK3dww+AlRaTwe2oveZzcRaKgLE++U0jxJ
+ kaC8DmqQh/XbiqlJ9sIIg6PfmyME7ACe31TkZVc1MhSvVePmxRRLYQ==
+ -----END AGE ENCRYPTED FILE-----
+ - recipient: age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
+ enc: |
+ -----BEGIN AGE ENCRYPTED FILE-----
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoR1g0Wk1idkFVbUlNaEls
+ dlRMWHNFMW5HSmtyUlF5YnBMZkFGUzFEZ0ZRCmZoZDZDRlFIbk5mQU1Kbk9hU0p6
+ WldxaHpuZVlqVkJyK0hEZkFaV2FKZG8KLS0tIGxMdFJBc1pDMmpKVm5mbTFRUU9m
+ SUwwSStwcmw0VDFLdTlqZDViV0k3YTgKukCR3ZJaJpEHNCxoisES9/uIULz1E7XW
+ w4VVHk+0fuTUCcCWz/Lpw58OgNdNz7mAx8Ji2Uyid3qTkd6NjdCVaA==
+ -----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-04T23:33:42Z"
enc: |-
-----BEGIN PGP MESSAGE-----
- hF4DCvJ7ODFw5jQSAQdAw5PIhSmghpU+R4d8A9FY1z9NwN2C1CQvnP0u/D6k9nEw
- 4jYo133RBpSmZUEOPsrAIGDwcx5rAjIwXtYEUeH3ZR1/0imfyOh0iF0NhEqF5awG
- 0l4BWb/AQFnokqiIuRGQPMqpO6X3m00C2kB79nodaxorhc/WBs4JX3qz89zozsLq
- ao8WHHadtQJwBveKurCNHLcr2+vLatPZ93Oo3s/ky+5eB+HrottOC818TIP51tXx
- =8dKb
+ hF4DCvJ7ODFw5jQSAQdAwFhdvVSDAhK6TQhL1Jd+Bw9KNHD5BhzMxM04+tsOmVMw
+ DDFAuBEfqGGzsJfrWPfdJJOPGYHK3vz/O6zitpCy1cF7EuSkak11nLDAG6Itozuv
+ 0l4BS8mBaxvNcJUePYCq0SY7qVmu+OGnchKJ2e3suJllxZ+Uxc9WDSBxRVGMcwXo
+ N2d/0dtdU8HAP70/L2SeTDMgK+lX++71DGAO45+c040GbMnB1SGJfWDa71b0BHVS
+ =5jtR
-----END PGP MESSAGE-----
fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634
unencrypted_suffix: _unencrypted
diff --git a/system-modules/gpg.nix b/system-modules/gpg.nix
index 8075bd3..e5cf5b5 100644
--- a/system-modules/gpg.nix
+++ b/system-modules/gpg.nix
@@ -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;
diff --git a/system-modules/hardware-configuration.nix b/system-modules/hardware-configuration.nix
index 3772a32..0107e3d 100644
--- a/system-modules/hardware-configuration.nix
+++ b/system-modules/hardware-configuration.nix
@@ -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;
+ };
}
diff --git a/system-modules/networking.nix b/system-modules/networking.nix
index 246a0f5..c8afe68 100644
--- a/system-modules/networking.nix
+++ b/system-modules/networking.nix
@@ -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"
];
diff --git a/system-modules/nvidia.nix b/system-modules/nvidia.nix
index c899f9c..b2d49af 100644
--- a/system-modules/nvidia.nix
+++ b/system-modules/nvidia.nix
@@ -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
diff --git a/system-modules/users.nix b/system-modules/users.nix
index 22a9ab3..b6c11c5 100644
--- a/system-modules/users.nix
+++ b/system-modules/users.nix
@@ -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 = ''