diff --git a/.sops.yaml b/.sops.yaml
index 5694f7e..d3db5e2 100644
--- a/.sops.yaml
+++ b/.sops.yaml
@@ -4,6 +4,7 @@ keys:
- &nx2_key_13 age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
- &xps-home age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
- &ace-home age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
+ - &north-home age1jr72q042ccgxpdgdaaev0arzc0vh3r02etv2tzhhsejl0mfaxs3q9hhlaz
- &hosts:
- &north age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
- &xps age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
@@ -18,5 +19,6 @@ creation_rules:
- *nx2_key_13
- *xps-home
- *ace-home
+ - *north-home
pgp:
- *nx2
diff --git a/README.md b/README.md
index 68be3ff..b3e29a0 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# ❄️ NixOS Dotfiles
-
+
## Information
diff --git a/configuration.nix b/configuration.nix
index 2e8762e..5b71d32 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,4 +1,4 @@
-{ ... }@all: with all; {
+{ pkgs, ... }@all: with all; {
imports = [
inputs.sops-nix.nixosModules.sops
./system-modules/adb.nix
@@ -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,6 +60,8 @@
./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" ];
diff --git a/flake-modules/allowed.nix b/flake-modules/allowed.nix
index cdf4227..f6bee5c 100644
--- a/flake-modules/allowed.nix
+++ b/flake-modules/allowed.nix
@@ -1,6 +1,7 @@
-
{
unfree = [
+ "antigravity"
+ "cursor"
"discord"
"spotify"
"obsidian"
@@ -9,8 +10,6 @@
"zoom-us"
"zoom"
- # since the predicate ist to be set in the flake and not in a module
- # it is impossible to make the list dynamic and respect nvidia.enable
"nvidia-x11"
"nvidia-settings"
"nvidia-persistenced"
@@ -40,8 +39,5 @@
"vscode-extension-mhutchie-git-graph"
];
-
- inecure = [
- # "electron-25.9.0"
- ];
+ insecure = [ ];
}
diff --git a/flake-modules/colors.json b/flake-modules/colors.json
index 61eecac..642be90 100644
--- a/flake-modules/colors.json
+++ b/flake-modules/colors.json
@@ -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"
}
}
\ No newline at end of file
diff --git a/flake-modules/rice.nix b/flake-modules/rice.nix
index 717aa19..e204622 100644
--- a/flake-modules/rice.nix
+++ b/flake-modules/rice.nix
@@ -55,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";
diff --git a/flake.lock b/flake.lock
index dc884a4..9d72a65 100644
--- a/flake.lock
+++ b/flake.lock
@@ -20,11 +20,11 @@
]
},
"locked": {
- "lastModified": 1759499898,
- "narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
+ "lastModified": 1762356719,
+ "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=",
"owner": "hyprwm",
"repo": "aquamarine",
- "rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
+ "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7",
"type": "github"
},
"original": {
@@ -39,11 +39,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
- "lastModified": 1759705705,
- "narHash": "sha256-ckBnfbxbT7VU7ay0c5jkstAZHrC4xDpEHgnQo99OdEw=",
+ "lastModified": 1763901903,
+ "narHash": "sha256-w7YsxTjldwhUBP5ypbcZvWyZgRQqp3NBfyk5BAfrFjQ=",
"owner": "9001",
"repo": "copyparty",
- "rev": "20ac117c3272da50ce125795d831ac55f29e766d",
+ "rev": "fb9f0441c99833ab7bc035d76b9a89021270675a",
"type": "github"
},
"original": {
@@ -102,11 +102,11 @@
"flake-compat_3": {
"flake": false,
"locked": {
- "lastModified": 1747046372,
- "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "lastModified": 1761588595,
+ "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
- "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
@@ -153,7 +153,7 @@
},
"flake-utils_2": {
"inputs": {
- "systems": "systems_3"
+ "systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
@@ -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": 1759490292,
- "narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
+ "lastModified": 1762462052,
+ "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=",
"owner": "hyprwm",
"repo": "hyprgraphics",
- "rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
+ "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162",
"type": "github"
},
"original": {
@@ -297,8 +318,8 @@
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
+ "hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
- "hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
@@ -308,11 +329,11 @@
"xdph": "xdph"
},
"locked": {
- "lastModified": 1759837778,
- "narHash": "sha256-K/F/ndJszKrbhhCcQEpLU3jrDSapQCprgNYJscHZYf0=",
+ "lastModified": 1763912895,
+ "narHash": "sha256-1mdM539nkqTWVHTHPCGHGrLu/UwsxeYWnrnHQaUh1qQ=",
"ref": "refs/heads/main",
- "rev": "5ba2d2217b649c4ca2db7e3f383b3f6af6e70d65",
- "revCount": 6484,
+ "rev": "2b0fd417d32278159d0ca1d23fb997588c37995b",
+ "revCount": 6643,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -323,33 +344,49 @@
"url": "https://github.com/hyprwm/Hyprland"
}
},
- "hyprland-plugins": {
+ "hyprland-guiutils": {
"inputs": {
- "hyprland": [
- "hyprland"
+ "aquamarine": [
+ "hyprland",
+ "aquamarine"
+ ],
+ "hyprgraphics": [
+ "hyprland",
+ "hyprgraphics"
+ ],
+ "hyprlang": [
+ "hyprland",
+ "hyprlang"
+ ],
+ "hyprtoolkit": "hyprtoolkit",
+ "hyprutils": [
+ "hyprland",
+ "hyprutils"
+ ],
+ "hyprwayland-scanner": [
+ "hyprland",
+ "hyprwayland-scanner"
],
"nixpkgs": [
- "hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
- "hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
- "lastModified": 1759748449,
- "narHash": "sha256-9I7KVSR7PsSaahM6CbxUyjXSRAY/4+29rFblZDqHPFE=",
+ "lastModified": 1762755186,
+ "narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=",
"owner": "hyprwm",
- "repo": "hyprland-plugins",
- "rev": "7be897d6ae765fab756c0b7e6b91e8c5b39a419e",
+ "repo": "hyprland-guiutils",
+ "rev": "66356e20a8ed348aa49c1b9ceace786e224225b3",
"type": "github"
},
"original": {
"owner": "hyprwm",
- "repo": "hyprland-plugins",
+ "repo": "hyprland-guiutils",
"type": "github"
}
},
@@ -365,11 +402,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": {
@@ -378,74 +415,6 @@
"type": "github"
}
},
- "hyprland-qt-support": {
- "inputs": {
- "hyprlang": [
- "hyprland",
- "hyprland-qtutils",
- "hyprlang"
- ],
- "nixpkgs": [
- "hyprland",
- "hyprland-qtutils",
- "nixpkgs"
- ],
- "systems": [
- "hyprland",
- "hyprland-qtutils",
- "systems"
- ]
- },
- "locked": {
- "lastModified": 1749154592,
- "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
- "owner": "hyprwm",
- "repo": "hyprland-qt-support",
- "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
- "type": "github"
- },
- "original": {
- "owner": "hyprwm",
- "repo": "hyprland-qt-support",
- "type": "github"
- }
- },
- "hyprland-qtutils": {
- "inputs": {
- "hyprland-qt-support": "hyprland-qt-support",
- "hyprlang": [
- "hyprland",
- "hyprlang"
- ],
- "hyprutils": [
- "hyprland",
- "hyprland-qtutils",
- "hyprlang",
- "hyprutils"
- ],
- "nixpkgs": [
- "hyprland",
- "nixpkgs"
- ],
- "systems": [
- "hyprland",
- "systems"
- ]
- },
- "locked": {
- "lastModified": 1759080228,
- "narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
- "owner": "hyprwm",
- "repo": "hyprland-qtutils",
- "rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
- "type": "github"
- },
- "original": {
- "owner": "hyprwm",
- "repo": "hyprland-qtutils",
- "type": "github"
- }
- },
"hyprlang": {
"inputs": {
"hyprutils": [
@@ -462,11 +431,11 @@
]
},
"locked": {
- "lastModified": 1758927902,
- "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
+ "lastModified": 1763254292,
+ "narHash": "sha256-JNgz3Fz2KMzkT7aR72wsgu/xNeJB//LSmdilh8Z/Zao=",
"owner": "hyprwm",
"repo": "hyprlang",
- "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
+ "rev": "deea98d5b61d066bdc7a68163edd2c4bd28d3a6b",
"type": "github"
},
"original": {
@@ -475,24 +444,55 @@
"type": "github"
}
},
- "hyprspace": {
+ "hyprtoolkit": {
"inputs": {
- "hyprland": [
- "hyprland"
+ "aquamarine": [
+ "hyprland",
+ "hyprland-guiutils",
+ "aquamarine"
],
- "systems": "systems_2"
+ "hyprgraphics": [
+ "hyprland",
+ "hyprland-guiutils",
+ "hyprgraphics"
+ ],
+ "hyprlang": [
+ "hyprland",
+ "hyprland-guiutils",
+ "hyprlang"
+ ],
+ "hyprutils": [
+ "hyprland",
+ "hyprland-guiutils",
+ "hyprutils"
+ ],
+ "hyprwayland-scanner": [
+ "hyprland",
+ "hyprland-guiutils",
+ "hyprwayland-scanner"
+ ],
+ "nixpkgs": [
+ "hyprland",
+ "hyprland-guiutils",
+ "nixpkgs"
+ ],
+ "systems": [
+ "hyprland",
+ "hyprland-guiutils",
+ "systems"
+ ]
},
"locked": {
- "lastModified": 1759033501,
- "narHash": "sha256-QhcOFLJYC9CiSVPkci62ghMEAJChzl+L98To1pKvnRQ=",
- "owner": "KZDKM",
- "repo": "Hyprspace",
- "rev": "e54884da1d6a1af76af9d053887bf3750dd554fd",
+ "lastModified": 1762463729,
+ "narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=",
+ "owner": "hyprwm",
+ "repo": "hyprtoolkit",
+ "rev": "88483bdee5329ec985f0c8f834c519cd18cfe532",
"type": "github"
},
"original": {
- "owner": "KZDKM",
- "repo": "Hyprspace",
+ "owner": "hyprwm",
+ "repo": "hyprtoolkit",
"type": "github"
}
},
@@ -508,11 +508,11 @@
]
},
"locked": {
- "lastModified": 1759490926,
- "narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=",
+ "lastModified": 1763323331,
+ "narHash": "sha256-+Z0OfCo1MS8/aIutSAW5aJR9zTae1wz9kcJYMgpwN6M=",
"owner": "hyprwm",
"repo": "hyprutils",
- "rev": "94cce794344538c4d865e38682684ec2bbdb2ef3",
+ "rev": "0c6411851cc779d551edc89b83966696201611aa",
"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": 1759833546,
- "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=",
+ "lastModified": 1763738061,
+ "narHash": "sha256-VpNRcInaj1MOya8NmcqhFmdO7KGO7SSZelJQmPl6HoQ=",
"owner": "nix-community",
"repo": "NixOS-WSL",
- "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730",
+ "rev": "3bcc267c4e0efa023b98b9c5cfbe11b88ec2dc8f",
"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": 1759851983,
- "narHash": "sha256-5tYg4TRly5I8LOagO5X0dArUOht023mevqr3qlVghb0=",
+ "lastModified": 1763929585,
+ "narHash": "sha256-uxJ8vJoupgc3oJYOK3UV/kbi1f4mXFsh1BuuozhZpfw=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "7eb8a3cd795b18e7ac26c9cba411e1f588257a62",
+ "rev": "a5f13fe8d33e5dd3585980b288366665d35ed379",
"type": "github"
},
"original": {
@@ -639,11 +722,11 @@
},
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1759733170,
- "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
+ "lastModified": 1763678758,
+ "narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
+ "rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b",
"type": "github"
},
"original": {
@@ -652,13 +735,29 @@
"type": "indirect"
}
},
- "nixpkgs_2": {
+ "nixpkgs24": {
"locked": {
- "lastModified": 1759381078,
- "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
+ "lastModified": 1735563628,
+ "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
+ "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-24.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1763283776,
+ "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a",
"type": "github"
},
"original": {
@@ -686,11 +785,11 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1759733170,
- "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
+ "lastModified": 1762977756,
+ "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
+ "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"type": "github"
},
"original": {
@@ -702,11 +801,11 @@
},
"nixpkgs_5": {
"locked": {
- "lastModified": 1759735786,
- "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=",
+ "lastModified": 1763622513,
+ "narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff",
+ "rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b",
"type": "github"
},
"original": {
@@ -717,11 +816,11 @@
},
"nixpkgs_6": {
"locked": {
- "lastModified": 1756288264,
- "narHash": "sha256-Om8adB1lfkU7D33VpR+/haZ2gI5r3Q+ZbIPzE5sYnwE=",
+ "lastModified": 1762286042,
+ "narHash": "sha256-OD5HsZ+sN7VvNucbrjiCz7CHF5zf9gP51YVJvPwYIH8=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "ddd1826f294a0ee5fdc198ab72c8306a0ea73aa9",
+ "rev": "12c1f0253aa9a54fdf8ec8aecaafada64a111e24",
"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": 1758108966,
- "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
+ "lastModified": 1763319842,
+ "narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=",
"owner": "cachix",
"repo": "git-hooks.nix",
- "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
+ "rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761",
"type": "github"
},
"original": {
@@ -785,14 +938,15 @@
"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 +980,11 @@
]
},
"locked": {
- "lastModified": 1756348497,
- "narHash": "sha256-xJp3VnoYh4kpsaKFO/7SsGbwOz7pI1ZmjbqpXEuR2cw=",
+ "lastModified": 1762396738,
+ "narHash": "sha256-BarSecuxtzp1boERdABLkkoxQTi6s/V33lJwUbWLrLY=",
"owner": "oxalica",
"repo": "rust-overlay",
- "rev": "0adf92c70d23fb4f703aea5d3ebb51ac65994f7f",
+ "rev": "c63598992afd54d215d54f2b764adc0484c2b159",
"type": "github"
},
"original": {
@@ -839,6 +993,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 +1016,11 @@
]
},
"locked": {
- "lastModified": 1759635238,
- "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=",
+ "lastModified": 1763870012,
+ "narHash": "sha256-AHxFfIu73SpNLAOZbu/AvpLhZ/Szhx6gRPj9ufZtaZA=",
"owner": "Mic92",
"repo": "sops-nix",
- "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133",
+ "rev": "4e7d74d92398b933cc0e0e25af5b0836efcfdde3",
"type": "github"
},
"original": {
@@ -875,21 +1045,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 +1087,11 @@
]
},
"locked": {
- "lastModified": 1755354946,
- "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
+ "lastModified": 1761431178,
+ "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
- "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
+ "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
"type": "github"
},
"original": {
@@ -952,11 +1107,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
- "lastModified": 1759765472,
- "narHash": "sha256-YYfXBsw57fH6s/hXR24rv8/nr35oQl1CBH7p4WcK8RA=",
+ "lastModified": 1763600401,
+ "narHash": "sha256-druDd9HC3UxZSzCY+qaFp9QDCGfzrhv+Zrytia6lJUE=",
"owner": "sxyazi",
"repo": "yazi",
- "rev": "554cb52cc581df9a41e0778ebd448925cd3aca55",
+ "rev": "a08b345a02c6b4c65239a0522f67e77a0132e88b",
"type": "github"
},
"original": {
diff --git a/flake.nix b/flake.nix
index e04e435..73b015e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,23 +2,38 @@
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";
+ yazi.url = "github:sxyazi/yazi";
+ copyparty.url = "github:9001/copyparty";
};
outputs = { ... }@inputs: with inputs; let
@@ -28,7 +43,7 @@
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}";
@@ -36,12 +51,12 @@
pkgs-version = "25.05";
};
- my-pkgs = host: import nixpkgs {
+ get-pkgs = let s = system; in { host, system?s, 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,17 +68,18 @@
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 {
@@ -73,16 +89,38 @@
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";
+ pkgs-version = "24.05";
+ };
+ 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; };
diff --git a/git-crypt/secrets.nix b/git-crypt/secrets.nix
index 63bb135..0a180fb 100644
Binary files a/git-crypt/secrets.nix and b/git-crypt/secrets.nix differ
diff --git a/home-modules/bar/caldav-event.nix b/home-modules/bar/caldav-event.nix
index f8cefbc..8a7f9ef 100644
--- a/home-modules/bar/caldav-event.nix
+++ b/home-modules/bar/caldav-event.nix
@@ -73,7 +73,7 @@ def get_ongoing_or_next_event(url, username, password):
return next_event_dict
except Exception as e:
- print(f"Error accessing {url}: {e}")
+ print(f"Error accessing {url}: {str(e)[:30]}...")
return None
def is_expired(event_dict: dict):
@@ -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}")
'')
];
}
diff --git a/home-modules/bar/hyprpanel.nix b/home-modules/bar/hyprpanel.nix
index ab9267b..0f756c8 100644
--- a/home-modules/bar/hyprpanel.nix
+++ b/home-modules/bar/hyprpanel.nix
@@ -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;
diff --git a/home-modules/bash.nix b/home-modules/bash.nix
index 2b1f025..3b29227 100644
--- a/home-modules/bash.nix
+++ b/home-modules/bash.nix
@@ -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;
+ };
}
diff --git a/home-modules/calendar.nix b/home-modules/calendar.nix
index 0ae3cd7..e4104ce 100644
--- a/home-modules/calendar.nix
+++ b/home-modules/calendar.nix
@@ -33,20 +33,13 @@
read-only = true;
type = "ics";
}
- {
- name = "LEC";
- url = "https://${domain}/lec.ics";
- color = "#A87000";
- read-only = true;
- type = "ics";
- }
- {
- name = "LR";
- url = "https://${domain}/lr.ics";
- color = "#005040";
- read-only = true;
- type = "ics";
- }
+ # {
+ # name = "LEC";
+ # url = "https://${domain}/lec.ics";
+ # color = "#A87000";
+ # read-only = true;
+ # type = "ics";
+ # }
{
name = "Feiertage Hessen";
url = "https://ics.tools/Feiertage/hessen.ics";
@@ -54,13 +47,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/color-pallete.nix b/home-modules/color-pallete.nix
index 4bf0c59..30616cc 100644
--- a/home-modules/color-pallete.nix
+++ b/home-modules/color-pallete.nix
@@ -25,6 +25,8 @@
'';
+ rgb = rice.lib.hex-to-rgb-comma-string;
+ s = builtins.toString;
in /* html */ ''
@@ -38,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;
@@ -66,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;
}
diff --git a/home-modules/fish.nix b/home-modules/fish.nix
index 8d9602b..d0d419d 100644
--- a/home-modules/fish.nix
+++ b/home-modules/fish.nix
@@ -1,7 +1,6 @@
{ pkgs, ... }@all: with all;
{
home.packages = with pkgs; [
- fish
any-nix-shell
(writeShellScriptBin "nxfetch" /* bash */ ''
@@ -26,11 +25,11 @@
$(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 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev | sed 's/./\&/')
$(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 9p): $($EDITOR --version | head -n 1 | sed -E 's-(.+?) \(.*-\1-g' | awk '{print toupper(substr($0,1,1)) substr($0,2)}')
$(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 "$logo" | sed -n 11p): $(starship --version | head -n 1 | awk '{print toupper(substr($0,1,1)) substr($0,2)}')
"
echo -e "$msg"
'')
@@ -40,6 +39,7 @@
programs.fish = {
enable = true;
+ package = pkgs.fish;
shellAliases = let
base-eza = "eza --icons --git --smart-group --group-directories-first";
in {
@@ -87,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
@@ -114,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" && hyper.host != "NxDCS") ''
+ 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}
'';
diff --git a/home-modules/games.nix b/home-modules/games.nix
index 4417350..1cb3912 100644
--- a/home-modules/games.nix
+++ b/home-modules/games.nix
@@ -1,20 +1,19 @@
-{ pkgs, ... }@all: with all;
-lib.mkIf (hyper.host == "NxNORTH")
-{
+{ pkgs, ... }@all: with all; {
home = {
- packages = (with pkgs.unstable; [
- protonup
- mangohud
-
- prismlauncher
-
- # heroic
-
+ packages = (with pkgs; [
+ unstable.protonup-ng
+ unstable.mangohud
+ ]) ++ (if hyper.host == "NxNORTH" then (with pkgs; [
+ unstable.prismlauncher
+ heroic
# mindustry-wayland
- ]) ++ [ pkgs.heroic ];
- sessionVariables = {
- STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
- };
+ ]) else if hyper.host == "NxXPS" then (with pkgs; [
+ heroic
+ ]) else if hyper.host == "NxACE" then (with pkgs; [
+ heroic
+ ]) else []);
+
+ sessionVariables.STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
};
}
diff --git a/home-modules/gpg.nix b/home-modules/gpg.nix
index 11e62c9..4980f1b 100644
--- a/home-modules/gpg.nix
+++ b/home-modules/gpg.nix
@@ -39,10 +39,6 @@
enableFishIntegration = true;
defaultCacheTtlSsh = min2sec 60;
defaultCacheTtl = min2sec 30;
- pinentry = {
- package = pkgs.pinentry;
- program = "pinentry";
- };
extraConfig = ''
allow-loopback-pinentry
'';
diff --git a/home-modules/helix.nix b/home-modules/helix.nix
index a7fbd30..6287875 100644
--- a/home-modules/helix.nix
+++ b/home-modules/helix.nix
@@ -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.";
@@ -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;
diff --git a/home-modules/hyprland.nix b/home-modules/hyprland.nix
index 5cb951d..127f811 100644
--- a/home-modules/hyprland.nix
+++ b/home-modules/hyprland.nix
@@ -6,6 +6,7 @@
monitors = {
xps = {
main = { name = "eDP-1"; resolution = "1920x1200"; position = "1920x1080"; scale = "1.0"; };
+ # main = { name = "eDP-1"; resolution = "1920x1080"; position = "1920x1080"; 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"; };
};
@@ -41,7 +42,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
];
@@ -51,6 +52,7 @@ in {
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
"${second.name}, ${second.resolution}, ${second.position}, ${second.scale}"
"${third.name}, ${third.resolution}, ${third.position}, ${third.scale}"
+ " ,preferred, auto, 1, mirror, eDP-1"
]) else (if hyper.host == "NxNORTH" then (with monitors.north; [
"${main.name}, ${main.resolution}, ${main.position}, ${main.scale}"
"${left.name}, ${left.resolution}, ${left.position}, ${left.scale}"
@@ -161,8 +163,8 @@ in {
blur = {
enabled = true;
- size = "10";
- passes = "2";
+ size = "2";
+ passes = "4";
xray = false;
vibrancy = 0.5;
ignore_opacity = true;
@@ -213,7 +215,7 @@ in {
exec-once = [
"waybar"
"swww-daemon"
- "hyprland-autoname-workspaces"
+ # "hyprland-autoname-workspaces"
"/usr/lib/polkit-kde-authentication-agent-1 "
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"syncthing -no-browser"
@@ -224,7 +226,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]"
@@ -263,7 +265,6 @@ in {
# "opacity ${transparency}, class:^(obsidian)$"
"opacity ${transparency}, class:^(VSCodium)$"
"opacity ${transparency}, title:^(wlogout)$"
-
"opaque, title:^(GNU Image Manipulation Program)$"
"opaque, fullscreen:1"
@@ -277,6 +278,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)$"
];
@@ -354,7 +356,7 @@ in {
## ROW 2:
# "SUPER, TAB, hycov:toggleoverview"
- "SUPER, TAB, overview:toggle"
+ # "SUPER, TAB, overview:toggle"
# "SUPER, TAB, hyprexpo:expo, toggle"
"ALT, TAB, focuscurrentorlast"
# "SUPER, TAB, exec, hyprswitch --daemon"
@@ -372,7 +374,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, +,"
@@ -408,7 +410,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"
@@ -601,7 +603,9 @@ in {
submap = screenshot
${action_simple { key = "W"; cmd = ''exec,hyprshot -m window''; }}
${action_simple { key = "M"; cmd = ''exec,hyprshot -m output''; }}
+ ${action_simple { key = "S"; cmd = ''exec,hyprshot -m output''; }}
${action_simple { key = "R"; cmd = ''exec,hyprshot -m region''; }}
+ ${action_simple { key = "A"; cmd = ''exec,hyprshot -m region''; }}
bind = , Escape, execr, submap_indicator unset
bind = , Escape, submap, reset
submap = reset
diff --git a/home-modules/mako.nix b/home-modules/mako.nix
index 6ead07d..8b3d4b0 100644
--- a/home-modules/mako.nix
+++ b/home-modules/mako.nix
@@ -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;
diff --git a/home-modules/opencode.nix b/home-modules/opencode.nix
index 4030b94..eb4f557 100644
--- a/home-modules/opencode.nix
+++ b/home-modules/opencode.nix
@@ -1,29 +1,29 @@
{ pkgs, ... }@all: with all; {
home = {
packages = with pkgs; [
- opencode
+ unstable.opencode
];
- file.".config/opencode/opencode.json".text = let
- model = "qwen2.5-coder:7b";
- in builtins.toJSON {
- "$schema" = "https://opencode.ai/config.json";
- model = "ollama/${model}";
- theme = "matrix";
- provider = {
- ollama = {
- name = "Ollama (local)";
- npm = "@ai-sdk/openai-compatible";
- options = {
- baseURL = "http://localhost:11434/v1";
- };
- models = {
- "${model}" = {
- tools = true;
- };
- };
- };
- };
- };
+ # file.".config/opencode/opencode.json".text = let
+ # model = "qwen2.5-coder:7b";
+ # in builtins.toJSON {
+ # "$schema" = "https://opencode.ai/config.json";
+ # model = "ollama/${model}";
+ # theme = "matrix";
+ # provider = {
+ # ollama = {
+ # name = "Ollama (local)";
+ # npm = "@ai-sdk/openai-compatible";
+ # options = {
+ # baseURL = "http://localhost:11434/v1";
+ # };
+ # models = {
+ # "${model}" = {
+ # tools = true;
+ # };
+ # };
+ # };
+ # };
+ # };
};
}
diff --git a/home-modules/pkgs-list/desktop.nix b/home-modules/pkgs-list/desktop.nix
index ea526de..f547585 100644
--- a/home-modules/pkgs-list/desktop.nix
+++ b/home-modules/pkgs-list/desktop.nix
@@ -13,5 +13,6 @@
wev
wl-clipboard
xclip
+ wlr-randr
];
}
diff --git a/home-modules/pkgs-list/programs.nix b/home-modules/pkgs-list/programs.nix
index 91f65d6..e08b467 100644
--- a/home-modules/pkgs-list/programs.nix
+++ b/home-modules/pkgs-list/programs.nix
@@ -11,8 +11,11 @@
xfce.thunar
] ++ (if (hyper.host != "NxACE") then [
signal-desktop
+ unstable.code-cursor-fhs
+ latest.antigravity
obsidian
zoom-us
inkscape
+ audacity
] else []);
}
diff --git a/home-modules/pkgs-list/shell.nix b/home-modules/pkgs-list/shell.nix
index 9c35172..69bd4b4 100644
--- a/home-modules/pkgs-list/shell.nix
+++ b/home-modules/pkgs-list/shell.nix
@@ -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
];
}
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/go.nix b/home-modules/programming/go.nix
index 40892d5..dfa53d1 100644
--- a/home-modules/programming/go.nix
+++ b/home-modules/programming/go.nix
@@ -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";
};
}
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/rofi.nix b/home-modules/rofi.nix
index 6a1ed01..b01c746 100644
--- a/home-modules/rofi.nix
+++ b/home-modules/rofi.nix
@@ -1,114 +1,46 @@
-{ pkgs, ... }@all: with all;
-{
- home.packages = with pkgs; [
- rofi-wayland
- ];
- home.file = let
- trdr = "${rice.lib.float-to-drune rice.transparency}";
- in with rice.color; {
- ".config/rofi/config.rasi".text = ''
- configuration {
- show-icons: false;
- display-drun: "";
- disable-history: false;
- drun-display-format: "{name} [({generic})] [({exec})]";
- }
-
- * {
- font: "${rice.font.code.name} 12";
- foreground: ${foreground};
- background-color: ${background}${trdr};
- padding: 0px;
- margin: 0px;
- spacing: 0px;
- border-width: 0px;
- }
-
- #window {
- background-color: ${background}${trdr};
- border: ${builtins.toString rice.border-width}px;
- border-radius: ${builtins.toString rice.rounding};
- border-color: ${border};
- }
- #mainbox {
- border: 0;
- padding: 0;
- }
- #message {
- border: 0px;
- }
- #textbox {
- text-color: ${foreground};
- }
- #listview {
- fixed-height: 0;
- border: 0px;
- spacing: 0px ;
- scrollbar: false;
- padding: 0px;
- }
-
-
-
- #element {
- border: 0;
- padding: 0px;
- border-radius: ${if rice.rounding > 0 then "2" else "0"}px;
- }
-
- #element.normal.normal { background-color: ${background}${trdr}; text-color: ${accent.base}; }
- #element.selected.normal { background-color: ${tertiary.base}${trdr}; text-color: ${background}; }
- #element.alternate.normal { background-color: ${background}${trdr}; text-color: ${secondary.base}; }
-
-
- #scrollbar {
- width: ${builtins.toString rice.border-width}px ;
- border: 0;
- handle-width: 8px ;
- padding: 0;
- }
- #sidebar {
- border: ${builtins.toString rice.border-width}px dash;
- }
- #button.selected {
- text-color: ${foreground};
- }
- #inputbar {
- spacing: 0;
- text-color: ${background};
- background-color: ${accent.base}${trdr};
- padding: 0;
- margine-bottom: 2px;
- children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
- }
- #prompt {
- spacing: 0;
- background-color: transparent;
- text-color: ${foreground};
- }
- #textbox-prompt-colon {
- expand: false;
- str: ">";
- margin: 0px 0.3em 0em 0em ;
- text-color: ${background};
- background-color: transparent;
- }
- #case-indicator {
- spacing: 0;
- text-color: ${foreground};
- background-color: transparent;
- }
- #entry {
- spacing: 0;
- text-color: ${background};
- background-color: transparent;
- placeholder: "";
- }
-
- element-text, element-icon {
- background-color: inherit;
- text-color: inherit;
- }
- '';
+{ pkgs, ... }@all: with all; {
+ home = {
+ packages = with pkgs; [ rofi-wayland ];
+ file = let # the home-manager module sucks
+ trdr = "${rice.lib.float-to-drune rice.transparency}";
+ ts = builtins.toString;
+ in with rice.color; {
+ ".config/rofi/config.rasi".text = ''
+ configuration {
+ show-icons: false;
+ display-drun: "";
+ disable-history: false;
+ }
+ * {
+ font: "${rice.font.code.name} 12";
+ foreground: ${foreground};
+ text-color: ${foreground};
+ background-color: transparent;
+ padding: 0px;
+ margin: 0px;
+ spacing: 0px;
+ border-width: 0px;
+ }
+ window {
+ background-color: ${background}${trdr};
+ border: ${ts rice.border-width}px;
+ border-radius: ${ts rice.rounding}px;
+ border-color: ${ts rice.color.border};
+ }
+ listview { scrollbar: false; }
+ element { border-radius: ${ts rice.rounding}px; }
+ element.normal.normal { background-color: ${accent.darker}; text-color: ${accent.base}; }
+ element.selected.normal { background-color: ${accent.base}; text-color: ${accent.bright}; }
+ element.alternate.normal { background-color: ${secondary.darker}; text-color: ${secondary.base}; }
+ inputbar { children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; }
+ prompt { }
+ textbox-prompt-colon {
+ expand: false;
+ str: ">";
+ }
+ case-indicator { }
+ entry { placeholder: ""; }
+ '';
+ };
};
}
diff --git a/home-modules/ssh.nix b/home-modules/ssh.nix
index c82ddd5..c34df5e 100644
--- a/home-modules/ssh.nix
+++ b/home-modules/ssh.nix
@@ -8,18 +8,18 @@
nxace = name: {
host = name;
hostname = "ssh.${hyper.domain}";
- user = hyper.user;
+ 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}"
- (pkgs.lib.mkIf (hyper.host == "NxDCS") "${hyper.home}/vault/ssh/dcsgit-lkurzweg-${hyper.host}")
- ];
- };
+ "*".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"
+ (pkgs.lib.mkIf (hyper.host == "NxDCS") "${hyper.home}/vault/ssh/dcsgit-lkurzweg-${hyper.host}")
+ ];
+ "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; };
diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix
index d7e6bae..4bc11cd 100644
--- a/home-modules/yazi.nix
+++ b/home-modules/yazi.nix
@@ -1,39 +1,17 @@
{ pkgs, ... }@all: with all; let
- tfc = pkgs.xdg-desktop-portal-termfilechooser;
+ nox-var = (pkgs.version != "24.05");
+ tfc = pkgs.unstable.xdg-desktop-portal-termfilechooser;
in {
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 = ""; run = "escape"; desc = "Exit visual mode, clear selected, or cancel search"; }
@@ -52,24 +30,24 @@ in {
{ on = ""; run = "arrow 100%"; desc = "Move cursor down one page"; }
{ on = ""; run = "arrow -100%"; desc = "Move cursor up one page"; }
{ on = ""; run = "arrow 100%"; desc = "Move cursor down one page"; }
- { on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; }
- { on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; }
- { on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; }
- { on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles directory"; }
- (pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; })
- { on = [ "g" "n" ]; run = "cd /nix/store"; desc = "Go to the Nix-Store"; }
- { on = [ "g" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; }
- { on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }
{ on = [ "g" "C" ]; run = "cd ~/.cache"; desc = "Go to the .cache directory"; }
- { on = [ "g" "m" ]; run = "cd ~/media"; desc = "Go to the media (udiskie mount) directory"; }
- { on = [ "g" "v" ]; run = "cd ~/Videos"; desc = "Go to the Videos directory"; }
- { on = [ "g" "t" ]; run = "cd /tmp"; desc = "Go to the /tmp directory"; }
- { on = [ "g" "d" ]; run = "cd ~/Downloads"; desc = "Go to the downloads directory"; }
+ { on = [ "g" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; }
{ on = [ "g" "D" ]; run = "cd ~/Documents"; desc = "Go to the Documents directory"; }
- { on = [ "g" "r" ]; run = "cd /"; desc = "Go to the root (/) directory"; }
+ { on = [ "g" "d" ]; run = "cd ~/Downloads"; desc = "Go to the downloads directory"; }
+ { on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; }
+ { on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; }
+ { on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; }
+ { on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }
+ { on = [ "g" "m" ]; run = "cd ~/media"; desc = "Go to the media (udiskie mount) directory"; }
+ { on = [ "g" "n" ]; run = "cd ~/nix-dots"; desc = "Go to the Nix-Dotfiles directory"; }
+ { on = [ "g" "N" ]; run = "cd /nix/store"; desc = "Go to the Nix-Store"; }
{ on = [ "g" "p" ]; run = "cd ~/projects"; desc = "Go to the projects directory"; }
+ { on = [ "g" "r" ]; run = "cd /"; desc = "Go to the root (/) directory"; }
{ on = [ "g" "/" ]; run = "cd /"; desc = "Go to the root (/) directory"; }
+ { on = [ "g" "t" ]; run = "cd /tmp"; desc = "Go to the /tmp directory"; }
+ { on = [ "g" "v" ]; run = "cd ~/Videos"; desc = "Go to the Videos directory"; }
{ on = [ "g" "" ]; run = "cd --interactive"; desc = "Go to a directory interactively"; }
+ (pkgs.lib.mkIf (hyper.host == "NxACE") { on = [ "g" "s" ]; run = "cd /var/lib/hugo/nx2site"; desc = "Go to the Hugo Nx2.Site directory"; })
# Navigation
{ on = "h"; run = "leave"; desc = "Go back to the parent directory"; }
{ on = "l"; run = "enter"; desc = "Enter the child directory"; }
@@ -92,8 +70,7 @@ in {
{ on = "O"; run = "open --interactive"; desc = "Open selected files interactively"; }
{ on = ""; run = "open"; desc = "Open selected files"; }
{ on = ""; run = "open --interactive"; desc = "Open selected files interactively"; }
- { on = "y"; run = [ ''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list''
- "yank" ]; desc = "Yank selected files (copy)"; }
+ { on = "y"; run = [ ''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list'' "yank" ]; desc = "Yank selected files (copy)"; }
{ on = "y"; run = "yank"; desc = "Yank selected files (copy)"; }
{ on = "x"; run = "yank --cut"; desc = "Yank selected files (cut)"; }
{ on = "p"; run = "paste"; desc = "Paste yanked "; }
@@ -180,6 +157,7 @@ in {
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab with previous tab"; }
{ on = "{"; run = "tab_swap -1"; desc = "Swap current tab wittab"; }
{ on = "}"; run = "tab_swap 1"; desc = "Swap current tab with next tab"; }
+ { on = ""; run = "spot"; desc = "Show Spot View"; }
# Tasks
{ on = "w"; run = "tasks:show"; desc = "Show Task View"; }
];
@@ -190,8 +168,8 @@ in {
{ on = ""; run = "close"; desc = "Close Task View"; }
{ on = "c"; run = "cancel"; desc = "Cancel Task"; }
{ on = "i"; run = "inspect"; desc = "Inspect Task"; }
- { on = "j"; run = "arrow -1"; desc = "Up in list"; }
- { on = "k"; run = "arrow 1"; desc = "Down in list"; }
+ { on = "k"; run = "arrow -1"; desc = "Up in list"; }
+ { on = "j"; run = "arrow 1"; desc = "Down in list"; }
{ on = "u"; run = "arrow -5"; desc = "Up in list (fast)"; }
{ on = "d"; run = "arrow 5"; desc = "Down in list (fast)"; }
];
@@ -201,6 +179,19 @@ in {
{ on = "?"; run = "help"; desc = "Open help"; }
{ on = ""; run = "help"; desc = "Open help"; }
];
+ spot.keymap = [
+ # Spot
+ { on = ""; run = "close"; desc = "Close Spot View"; }
+ { on = "q"; run = "close"; desc = "Close Spot View"; }
+ { on = ""; run = "close"; desc = "Close Spot View"; }
+ { on = "k"; run = "arrow -1"; desc = "Up in list"; }
+ { on = "j"; run = "arrow 1"; desc = "Down in list"; }
+ { on = "u"; run = "arrow -5"; desc = "Up in list (fast)"; }
+ { on = "d"; run = "arrow 5"; desc = "Down in list (fast)"; }
+ { on = [ "g" "g" ]; run = "arrow top"; desc = "Move cursor to the top"; }
+ { on = [ "g" "e" ]; run = "arrow bot"; desc = "Move cursor to the end"; }
+ { on = "c"; run = "copy cell"; desc = "Copy Selected Cell"; }
+ ];
};
settings = {
mgr = {
@@ -215,74 +206,76 @@ in {
};
opener = {
"edit" = [
- { run = ''hx "$@"''; desc = "helix"; block = true; }
- { run = ''codium "$@"''; desc = "code"; orphan = true; }
+ { run = ''hx "$0" "$@"''; desc = "Helix"; block = true; }
+ { run = ''codium "$0" "$@"''; desc = "VS Code"; orphan = true; }
+ { run = ''antigravity "$0" "$0"''; desc = "Antigravity"; orphan = true; }
+ { run = ''cat "$0" "$@" | wl-copy''; desc = "Copy Contents"; }
];
"play" = [
- { run = ''mpv "$@"''; desc = "mpv"; orphan = true; }
- { run = ''mpv --vf=negate "$@"''; desc = "mpv inverted"; orphan = true; }
- { run = ''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; desc = "Show mediainfo"; }
+ { run = ''mpv "$0" "$@"''; desc = "mpv"; orphan = true; }
+ { run = ''mpv --vf=negate "$0" "$@"''; desc = "mpv inverted"; orphan = true; }
+ { run = ''mediainfo "$0"; echo "Press enter to return to yazi"; read''; block = true; desc = "Show mediainfo"; }
];
"archive" = [
- { run = ''unar "$1"''; desc = "Extract here"; }
- { run = ''tar -x "$1"''; desc = "tar -x"; }
- { run = ''unzip "$1"''; desc = "unzip"; }
+ { run = ''unar "$0" "$@"''; desc = "Extract here"; }
+ { run = ''tar -x "$0" "$@"''; desc = "tar -x"; }
+ { run = ''unzip "$0" "$@"''; desc = "unzip"; }
];
"image" = [
- { run = ''imv "$@"''; desc = "imv"; orphan = true; }
- { run = ''gimp "$@"''; desc = "gimp"; orphan = true; }
+ { run = ''imv "$0" "$@"''; desc = "imv"; orphan = true; }
+ { run = ''gimp "$0" "$@"''; desc = "gimp"; orphan = true; }
{ run = ''swww img --transition-type wipe --transition-angle 60 --transition-step 120 --transition-fps 120 "$@"''; desc = "swww wallpaper"; }
- { run = ''exiftool "$@"; echo "Press enter to exit"; read''; desc = "View Exif Data"; }
- { run = ''for f in "$@"; do magick "$f" -auto-orient "''${f%.*}.pdf"; done''; desc = "Convert to PDF"; }
+ { run = ''exiftool "$0"; echo "Press enter to return to yazi"; read''; desc = "View Exif Data"; }
+ { run = ''for f in "$0"; do magick "$f" -auto-orient "''${f%.*}.pdf"; done''; desc = "Convert to PDF"; }
];
"svg" = [
- { run = ''inkscape "$@"''; desc = "inkscape"; orphan = true; }
- { run = ''firefox "$@"''; desc = "firefox"; orphan = true; }
+ { run = ''inkscape "$0" "$@"''; desc = "inkscape"; orphan = true; }
+ { run = ''firefox "$0" "$@"''; desc = "firefox"; orphan = true; }
];
"font" = [
- { run = ''fontpreview "$@"''; desc = "fontpreview"; orphan = true; }
- { run = ''fontforge "$@"''; desc = "fortforge"; orphan = true; }
+ { run = ''fontpreview "$0" "$@"''; desc = "fontpreview"; orphan = true; }
+ { run = ''fontforge "$0" "$@"''; desc = "fortforge"; orphan = true; }
];
"document" = [
- { run = ''zathura "$@"''; desc = "zathura"; orphan = true; }
- { run = ''xournal "$@"''; desc = "xournal"; orphan = true; }
- { run = ''firefox "$@"''; desc = "firefox"; orphan = true; }
- { run = ''nxgs flip "$@"''; desc = "nxgs flip"; }
- { run = ''nxgs rotate "$@"''; desc = "nxgs rotate"; }
- { run = ''nxgs interactive-merge "$@"''; block = true; desc = "nxgs merge"; }
+ { run = ''zathura "$0" "$@"''; desc = "zathura"; orphan = true; }
+ { run = ''xournal "$0" "$@"''; desc = "xournal"; orphan = true; }
+ { run = ''firefox "$0" "$@"''; desc = "firefox"; orphan = true; }
+ { run = ''nxgs flip "$0" "$@"''; desc = "nxgs flip"; }
+ { run = ''nxgs rotate "$0" "$@"''; desc = "nxgs rotate"; }
+ { run = ''nxgs interactive-merge "$0" "$@"''; block = true; desc = "nxgs merge"; }
];
"browser" = [
- { run = ''firefox "$@"''; desc = "firefox"; orphan = true; }
- { run = ''zen "$@"''; desc = "zen"; orphan = true; }
- { run = ''chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$@"''; desc = "chromium"; orphan = true; }
- { run = ''w3m "$@"''; desc = "w3m"; }
- { run = ''lynx "$@"''; desc = "lynx"; }
+ { run = ''firefox "$0" "$@"''; desc = "firefox"; orphan = true; }
+ { run = ''chromium --enable-features=UseOzonePlatform --ozone-platform=wayland "$0" "$@"''; desc = "chromium"; orphan = true; }
+ { run = ''w3m "$0" "$@"''; desc = "w3m"; }
+ { run = ''lynx "$0" "$@"''; desc = "lynx"; }
];
"office" = [
- { run = ''libreoffice "$@"''; desc = "libreoffice"; orphan = true; }
- { run = ''libreoffice --view "$@"''; desc = "libreoffice read-only"; orphan = true; }
+ { run = ''libreoffice "$0" "$@"''; desc = "libreoffice"; orphan = true; }
+ { run = ''libreoffice --view "$0" "$@"''; desc = "libreoffice read-only"; orphan = true; }
];
"shell" = [
- { run = ''bash -c "$@"''; desc = "bash -c"; }
- { run = ''fish -c "$@"''; desc = "fish -c"; }
- { run = ''sh -c "$@"''; desc = "sh -c"; }
+ { run = ''bash -c "$0"; echo "Press enter to return to yazi"; read''; desc = "bash -c"; }
+ { run = ''fish -c "$0"; echo "Press enter to return to yazi"; read''; desc = "fish -c"; }
+ { run = ''sh -c "$0"; echo "Press enter to return to yazi"; read''; desc = "sh -c"; }
];
"python" = [
- { run = ''python "$@"''; desc = "python"; }
+ { run = ''python "$@"; echo "Press enter to return to yazi"; read''; desc = "python"; block = true; }
];
"directory" = [
- { run = ''lazygit "$@"''; desc = "python"; }
+ { run = ''lazygit "$0"''; desc = "lazygit"; }
];
};
open.rules = [
{ mime = "text/html"; use = [ "edit" "browser" ]; }
{ mime = "text/htm"; use = [ "edit" "browser" ]; }
- { mime = "text/x-python"; use = "python"; }
+ { mime = "text/x-script.python"; use = [ "edit" "python" ]; }
+ { mime = "text/script.python"; use = [ "edit" "python" ]; }
{ mime = "text/*"; use = "edit"; }
{ mime = "text"; use = "edit"; }
- { mine = "inode/x-empty"; use = "edit"; }
- { mine = "inode/directory"; use = "edit"; }
+ { mine = "inode/x-empty"; use = "directory"; }
+ { mine = "inode/directory"; use = "directory"; }
{ mime = "image/*"; use = "image"; }
{ mime = "image/svg"; use = [ "image" "edit" ]; }
@@ -333,8 +326,6 @@ in {
tabs = {
active = { fg = secondary.dark; bg = secondary.base; };
inactive = { fg = secondary.base; bg = secondary.dark; };
- # sep_inner =
- # sep_outer =
};
status = {
separator_open = " "; #"";
@@ -403,15 +394,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
'';
diff --git a/home.nix b/home.nix
index c965d32..a35891f 100644
--- a/home.nix
+++ b/home.nix
@@ -42,13 +42,7 @@
./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
diff --git a/nix-on-droid.nix b/nix-on-droid.nix
deleted file mode 100644
index fe30dc8..0000000
--- a/nix-on-droid.nix
+++ /dev/null
@@ -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";
-}
diff --git a/nod.nix b/nod.nix
new file mode 100644
index 0000000..3aef4ec
--- /dev/null
+++ b/nod.nix
@@ -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; };
+ };
+}
diff --git a/shell-only.nix b/shell-only.nix
index 00299ae..8341478 100644
--- a/shell-only.nix
+++ b/shell-only.nix
@@ -12,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
@@ -30,7 +30,7 @@
home = {
username = hyper.user;
homeDirectory = hyper.home;
- stateVersion = hyper.pkgs-version;
+ stateVersion = pkgs.version;
};
xdg = {
enable = true;
diff --git a/sops-secrets.yaml b/sops-secrets.yaml
index ea8f94e..c814470 100644
--- a/sops-secrets.yaml
+++ b/sops-secrets.yaml
@@ -58,69 +58,78 @@ sops:
- recipient: age1vkqn2nars5qmpr35tac0x9vshphrq6nnzjfyxwusgn27kt3zualssv0u8e
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxODZibjJwSGRJYVpyRXFh
- UmFmRVIwOGhFaHhpb05iRGtTSnV0UUlkOUd3CnFiOTJ4cTN0OHYvQTlScy9NYXAr
- a1A1YzFkdkttenhRa1NIUnhuVEZiLzgKLS0tIFVkTDRZNWhHeHN3MWNTSHJRbSs0
- Nk5FcnBaSkhWcXZaeCtQMDJaVEc1aEEK71jQkA/mOqNIdcNYHDnb43MEVKyNIOpT
- 8J/CV6U5M+YGNvkHXafNFccHKY8dFPVDzcJl0lthECjcGrplzNEWNw==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6U0NCaG16bGl4Uy9JdkpV
+ alRjakVGQkM4ZzdsWDlJWTFQdlJ3dHB5dm1vCmtHSE9oS1dhc0ZvemVTTFJ3TWJ2
+ YlZZd3VLaXM1dllPVTR1TElQdXIvMHcKLS0tIFoxbnlMVFVWaWp0R1RvSmpNcC9s
+ UDREUnEweDY1UU5QTjEySUdERjEwMkkKCt6wGWglsfmTfnR+qesaxfb0/lKizXjd
+ QnXb7ynqAx+0/mg5QXEE6S9nzfN/Shm84aR98VRptyYeDHk4jZhZxw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jvf2lyrt2dw9jfnwgvnhmj9fmvyq8vvtepqjpkyycc5dqkkd4edqhxsgv6
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBK0dKQWQyOW8xQ0RMOXlv
- SStnV0R1QWNlZlVrUGdqSTVUSUJHL09RQW5BCk1OL2NLVFk1R1kzTjc1OUR5TmVC
- MXI0ZnoxcVRoNHFOa2FJT0RvOUtTakUKLS0tIC82QzlJT0RjVHo0aXZOckNNNElO
- WjZEL0NzL0NzOUdMK3FaOE5Ub2x5OXcKOAahFXWAQNagHz2G+O1TPiKB7UqUl8p2
- K89cGfal6M2ui403lb2ygEi+v6K908Kh9MzGaDtR0r2k7kGQS4aFmg==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEbDhLenZ5cTF2RmU3aWFR
+ TDN3VXZJamN2WXVGejNqdWZzR1Frb0sxeG0wCk1OaVF4UGJ2elZ3eHBhOU1McjhG
+ TWZqVFZLbW1wVDlhKy9DeU5XQURMT2cKLS0tIHdNQTJkZFg1cS9sdERjZkhYbDJy
+ RWVkczdGZlFQRENkbEdlb1c5bHA4ZEEKPS2AB8yyJ3An7PkWDJQj135MT7NGeOPj
+ dpalfnbvDw6uK9APGGkM35xIKYTy+kal4Qx4U5BAmaH57EWqL22Rpg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jj7kfjw3e7rf9kwg5f87zf4ns6yr5465wcasanr9gcgwrq7c6dmq6gprgk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNGhjNHlubGp3QzRkRy9i
- UmM0ZlE5UUxhM0tCeHkwOUt2VEt1YldnNnhrCnZHWlpWZ3BpZ1BlYTlVVmFZQ2Q4
- RlF5UldLdDNOZTB6UDlBcldqRmhyTDQKLS0tIG5OZjZkdnNnbTZ2K3kzNGdqdGFE
- RUdad1FHMTVFVU8xRmpCdHRnK0Z5ZkkKb+25mUdPRozNnyPXGCJOe+xtsOZVe4oy
- SDpdoSASzq2uljMxVPyINJcbEThJriZAzC30Qt2aroc2zo3dnsnVMg==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLT0I0MDdUZWRXaFNJN2FK
+ bm40a1QwdFdpQ3RManhXYWxmMkZXRGhiaTN3CnRqdmZ1bHhCTXh2c3gxeGJOYS9i
+ VDNDZWRhT0FYczQ3Q2ExQXBacURZaGsKLS0tIHdwbU5SbVk1YVdqd0l1dUg1bC9v
+ eEcydGlvNGcvTGI4OE1jek1WVE5jajQKhgxCDgmRbokbcHG+8OlJYms4NgVaHPqO
+ feXp9tvnTPpFcGIcN8pBE3ZRRJDshyubR9FyHmfUmSNJTtFOEjhR7g==
-----END AGE ENCRYPTED FILE-----
- recipient: age1x2lpsennl74n0f5jl60uv2ffjcuqymzf9ap3frlz2quyv0x3hq3scnewwq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArV094ZWwvTzJuYlE1Um14
- K09wUlcxdFc1eFB3bXgrSXlRK3ZRSnB1QXhBClhNZVFIRHBVUGkwOVk3ejc5b0FN
- cEtkSTFHZ1FWUDQzZUJBbHRsMnhWMUkKLS0tIDhQWGpvV01TRHY0VnJCclRsVHl6
- YkZJWm5xWlh2NmtibnVPYSs2QjF0TW8KRj+d44ttYXoElSzxv6n4u9NL/aeXJQpc
- Fc0797glPXgInJZkQSzCmjKs6LzY82I5D34evwuFzuwD/TMAGyo0/g==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxTkV0MEhqL2NJYTdRWDRl
+ aHpJeFNsMjNJUUYxRklIVmZDRHd6NkVrTTBJCnUwMFA5RWxCTTdxcGJSQVExdjcy
+ Zjg4NW9UQW5BWTI4TzRVS2t4K21oN28KLS0tIDhpUmF2OHlTUnpGVnUrbWNIV3RQ
+ eUZ2OC9Za2lJdjdmdWo3UzV3VHVldU0K2txL8P3NxMaTzjo+geMeBZr8fr3iuf6o
+ m6L3vbAx/PMgfSVFpV6jZ6lyNfQkyEtP5BIUIWbdX5qdGscfb+Gr4g==
-----END AGE ENCRYPTED FILE-----
- recipient: age1pn4utvwpqdrswn0xurfdexn5nks9cd06jxzwg3m3m6za25ap4vxqxd0p3k
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAreTRVWkxiNnZKeFFiNVA2
- ZldmbXpUN2lyYjh0M0ZNSHpHRGk0aHpkUUZzCmhrZnBTWTlTYU13K2YwNFVCT1px
- ZUhWODQrZHlIR2RQOFhmUXY2NXI3QUkKLS0tIHlDcnI0dGt3a2h6a3l1YkRMNkVr
- QVRCdkMza3JDb01mdW5mbTZtbFVVR3MK3dww+AlRaTwe2oveZzcRaKgLE++U0jxJ
- kaC8DmqQh/XbiqlJ9sIIg6PfmyME7ACe31TkZVc1MhSvVePmxRRLYQ==
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlVktxTmx4QXQrOEhNTCtq
+ R3FML2ZubHovblU2OTBBQXB1Mkw0OTVqaTNJCkNmeEw2OW9DNm1qcUJFeUYycE15
+ dmxsYnRyTnp5UkVnWWMzTU1yZTFBZTAKLS0tIGRjK1hrMVBUOTNxSGZ0WmsyRUEy
+ dWZjOEFQc2lUMnFQNnVLd3NDcjh4NWsKUFIzHvms3UCwDGvWT527vzE1sKPfdmD6
+ jXw6KUc/AhkVzVndbLxO1pyvP//oj5uPmhF6BwSYOhL/ZBnRtTF2JQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1ur5zpr325cv7w0yn49azz9f48xsxd73w2sytt22yrnw5qs9r34nsv3vl05
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoR1g0Wk1idkFVbUlNaEls
- dlRMWHNFMW5HSmtyUlF5YnBMZkFGUzFEZ0ZRCmZoZDZDRlFIbk5mQU1Kbk9hU0p6
- WldxaHpuZVlqVkJyK0hEZkFaV2FKZG8KLS0tIGxMdFJBc1pDMmpKVm5mbTFRUU9m
- SUwwSStwcmw0VDFLdTlqZDViV0k3YTgKukCR3ZJaJpEHNCxoisES9/uIULz1E7XW
- w4VVHk+0fuTUCcCWz/Lpw58OgNdNz7mAx8Ji2Uyid3qTkd6NjdCVaA==
+ 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-10-04T23:33:42Z"
+ - created_at: "2025-10-06T11:16:18Z"
enc: |-
-----BEGIN PGP MESSAGE-----
- hF4DCvJ7ODFw5jQSAQdAwFhdvVSDAhK6TQhL1Jd+Bw9KNHD5BhzMxM04+tsOmVMw
- DDFAuBEfqGGzsJfrWPfdJJOPGYHK3vz/O6zitpCy1cF7EuSkak11nLDAG6Itozuv
- 0l4BS8mBaxvNcJUePYCq0SY7qVmu+OGnchKJ2e3suJllxZ+Uxc9WDSBxRVGMcwXo
- N2d/0dtdU8HAP70/L2SeTDMgK+lX++71DGAO45+c040GbMnB1SGJfWDa71b0BHVS
- =5jtR
+ hF4DCvJ7ODFw5jQSAQdAebf7Ev93A/xdNTsw9ioAQTAehE14ZrIZiA9qNv9SjwIw
+ zT17RspkPejqo1K54zO3UkkocBZ30gzUkoIdxfISqd58QDHTNEsnoI7mVf8mod/c
+ 0l4BUCEcibdn1XyQ9y55TbLhn/N6b+BxV9TKpRiFSLXSFIgHTe0PCSBxJkYgckFH
+ ZD0A4PtsylyuVYKKD5/2ZwAKLeAfY6nWBxoQrI6ZpT6i9040Rv2f8s5jJxrStLyx
+ =9nNP
-----END PGP MESSAGE-----
fp: 22FB2CC03DC5292AB81CF67D0AF27B383170E634
unencrypted_suffix: _unencrypted
diff --git a/splash.png b/splash.png
deleted file mode 100644
index 26b77f3..0000000
Binary files a/splash.png and /dev/null differ
diff --git a/splash.webp b/splash.webp
new file mode 100644
index 0000000..7481768
Binary files /dev/null and b/splash.webp differ
diff --git a/system-modules/base-packages.nix b/system-modules/base-packages.nix
index 0ccdd77..6634ce6 100644
--- a/system-modules/base-packages.nix
+++ b/system-modules/base-packages.nix
@@ -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
+]
diff --git a/system-modules/boot.nix b/system-modules/boot.nix
index b99e5b1..985d9f2 100644
--- a/system-modules/boot.nix
+++ b/system-modules/boot.nix
@@ -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;
};
}
diff --git a/system-modules/calendar/lec.nix b/system-modules/calendar/lec.nix
index b00c8fc..7db416a 100644
--- a/system-modules/calendar/lec.nix
+++ b/system-modules/calendar/lec.nix
@@ -1,7 +1,7 @@
{ pkgs, ... }@all: with all;
{
systemd.timers."nx_cal_lec" = {
- enable = true;
+ enable = false;
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "40m";
diff --git a/system-modules/dm.nix b/system-modules/dm.nix
index 21919d8..13aff1d 100644
--- a/system-modules/dm.nix
+++ b/system-modules/dm.nix
@@ -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
+ # ];
}
diff --git a/system-modules/games.nix b/system-modules/games.nix
index 5d90705..a54913e 100644
--- a/system-modules/games.nix
+++ b/system-modules/games.nix
@@ -1,15 +1,7 @@
-{ pkgs, ... }@all: with all;
-lib.mkIf (hyper.host == "NxNORTH" || hyper.host == "NxACE")
-{
+{ pkgs, ... }@all: with all; {
programs = {
- steam = {
- enable = true;
- };
- gamemode = {
- enable = true;
- };
- gamescope = {
- enable = true;
- };
+ steam.enable = true;
+ gamemode.enable = true;
+ gamescope.enable = true;
};
}
diff --git a/system-modules/health_reminder.nix b/system-modules/health_reminder.nix
index a91228f..123d653 100644
--- a/system-modules/health_reminder.nix
+++ b/system-modules/health_reminder.nix
@@ -2,7 +2,7 @@
lib.mkIf (hyper.host != "NxACE")
{
systemd.timers."health_reminder" = {
- enable = true;
+ enable = false;
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "30m";
diff --git a/system-modules/users.nix b/system-modules/users.nix
index b6c11c5..22cc8d5 100644
--- a/system-modules/users.nix
+++ b/system-modules/users.nix
@@ -31,6 +31,7 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5sYVtPLHXatTjrpol46xr9R4TidcB4t8axO6/ReNNR nxxps-nx2@nxace"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/zcoYuYbamTPMOZPfsP1yQJ5Y6sDlPfBwui8MQjKWn nxnorth-nx2@nxace"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnbJx7nVeVi5jK1Eybm+jQoopiCTslewuHFLv2yCt4f nxdcs-nx2@nxace"
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHOWa0xeARLSGbliVCqloGRvF7KlM6TcJSFhd+BxcvRt nxs23u-nx2@ssh.nx2.site"
];
};
};
diff --git a/nixos-wsl.nix b/wsl.nix
similarity index 100%
rename from nixos-wsl.nix
rename to wsl.nix