Merge branch 'master' of ssh://ssh.nx2.site:50022/nx2/dotfiles

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2025-06-24 12:36:54 +02:00
119 changed files with 472 additions and 672 deletions

View File

@@ -1,45 +1,45 @@
{ pkgs, hyper, inputs, ... }: { ... }@all: with all;
{ {
imports = [ imports = [
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.nixpkgs.nixosModules.readOnlyPkgs
./system-modules/adb.nix ./system-modules/adb.nix
./system-modules/auto-mount.nix ./system-modules/auto-mount.nix
./system-modules/tz.nix
./system-modules/bluetooth.nix
./system-modules/boot.nix ./system-modules/boot.nix
./system-modules/boot.nix ./system-modules/cache.nix
./system-modules/calendar.nix ./system-modules/calendar.nix
./system-modules/dm.nix ./system-modules/dm.nix
./system-modules/docker.nix ./system-modules/docker.nix
./system-modules/fcitx5.nix ./system-modules/fcitx5.nix
./system-modules/fonts.nix ./system-modules/fonts.nix
./system-modules/fonts.nix
./system-modules/fuse.nix
./system-modules/fuse.nix ./system-modules/fuse.nix
./system-modules/games.nix ./system-modules/games.nix
./system-modules/gc.nix ./system-modules/gc.nix
./system-modules/gc.nix
./system-modules/gpg.nix ./system-modules/gpg.nix
./system-modules/hardware-configuration.nix ./system-modules/hardware-configuration.nix
./system-modules/hardware-configuration.nix
./system-modules/health_reminder.nix ./system-modules/health_reminder.nix
./system-modules/hsmw.nix ./system-modules/hsmw.nix
./system-modules/kanata.nix ./system-modules/kanata.nix
./system-modules/terminal.nix
./system-modules/kodi.nix ./system-modules/kodi.nix
./system-modules/networking.nix ./system-modules/networking.nix
./system-modules/nixd.nix ./system-modules/nixd.nix
./system-modules/nvidia.nix ./system-modules/nvidia.nix
./system-modules/nvidia.nix
./system-modules/ollama.nix ./system-modules/ollama.nix
./system-modules/qmk.nix ./system-modules/qmk.nix
./system-modules/scanning.nix ./system-modules/scanning.nix
./system-modules/sops.nix ./system-modules/sops.nix
./system-modules/sound.nix ./system-modules/sound.nix
./system-modules/sound.nix
./system-modules/sshd.nix ./system-modules/sshd.nix
./system-modules/base-packages.nix
./system-modules/input.nix
./system-modules/syncthing.nix ./system-modules/syncthing.nix
./system-modules/tuda.nix ./system-modules/tuda.nix
./system-modules/users.nix ./system-modules/gui.nix
./system-modules/editor.nix
./system-modules/printing.nix
./system-modules/security.nix
./system-modules/users.nix ./system-modules/users.nix
./system-modules/virtualisation.nix ./system-modules/virtualisation.nix
./system-modules/ydotool.nix ./system-modules/ydotool.nix
@@ -49,112 +49,20 @@
./system-modules/postgres.nix ./system-modules/postgres.nix
./system-modules/nx2site/proxy.nix ./system-modules/nx2site/proxy.nix
./system-modules/nx2site/audiobookshelf.nix ./system-modules/nx2site/audiobookshelf.nix
# ./system-modules/nx2site/dyn_dns.nix
./system-modules/nx2site/gitea.nix ./system-modules/nx2site/gitea.nix
./system-modules/nx2site/open-web-calendar.nix ./system-modules/nx2site/open-web-calendar.nix
./system-modules/nx2site/radicale.nix ./system-modules/nx2site/radicale.nix
# ./system-modules/nx2site/nextcloud.nix
./system-modules/nx2site/vaultwarden.nix ./system-modules/nx2site/vaultwarden.nix
./system-modules/nx2site/paperless.nix ./system-modules/nx2site/paperless.nix
./system-modules/calendar/publish.nix
./system-modules/calendar-publish.nix ./system-modules/calendar/lec.nix
./system-modules/calendar-lec.nix ./system-modules/calendar/lr.nix
./system-modules/calendar-lr.nix ./system-modules/calendar/dicos.nix
./system-modules/calendar-dicos.nix
] else [ ] else [
]); ]);
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console.font = "Lat2-Terminus16";
console.keyMap = "de";
services.xserver = {
enable = true;
xkb = {
layout = "de";
options = "eurosign:e,caps:escape";
};
# lightdm in lightdm.nix
};
# Enable CUPS to print documents.
services.printing.enable = true;
# rtkit is optional but recommended
security.rtkit.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
hardware.uinput.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
package = pkgs.bluez5-experimental;
settings.Policy.AutoEnable = "true";
settings.General.Enable = "Source,Sink,Media,Socket";
};
services.blueman.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; ([
git
git-crypt
lazygit # home-manager module is bugged
wget
curlHTTP3
zip
unzip
p7zip
unar
nano
htop
direnv
openssl
blueman
dmidecode
file
parallel
# ]) ++ (with pkgs-unstable; [
# # sendme
]);
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
};
programs.hyprland = {
# config is done with home-manager
enable = true;
xwayland.enable = true;
};
systemd.extraConfig = "DefaultLimitNOFILE=2048"; systemd.extraConfig = "DefaultLimitNOFILE=2048";
boot.tmp.useTmpfs = false; system.stateVersion = hyper.pkgs-version;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = pkgs.version;
nixpkgs.pkgs = pkgs;
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
substitute = true;
substituters = [
"https://yazi.cachix.org"
];
trusted-public-keys = [
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
];
};
};
programs.bash.shellInit = '' programs.bash.shellInit = ''
source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
''; '';

265
flake.lock generated
View File

@@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749155310, "lastModified": 1750372185,
"narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=", "narHash": "sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e+09fN+NL/Q3BjTWHY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3", "rev": "7cef49d261cbbe537e8cb662485e76d29ac4cbca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -200,27 +200,6 @@
"type": "github" "type": "github"
} }
}, },
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709445365,
"narHash": "sha256-DVv6nd9FQBbMWbOmhq0KVqmlc3y3FMSYl49UXmMcO+0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "4de84265d7ec7634a69ba75028696d74de9a44a7",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": { "hyprcursor": {
"inputs": { "inputs": {
"hyprlang": [ "hyprlang": [
@@ -266,11 +245,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749238452, "lastModified": 1750371717,
"narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=", "narHash": "sha256-cNP+bVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8", "rev": "15c6f8f3a567fec9a0f732cd310a7ff456deef88",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -295,11 +274,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1749982876, "lastModified": 1750589353,
"narHash": "sha256-SCorI7O9GEF804gf/VcDwXHZx5Y2ISvsOoVsShpHJbA=", "narHash": "sha256-ESfhPjQ6E/JUdFknr+HTHqZU5ZcwlTODemMTxApg1D0=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "d037c54260d4f55c7f7b5ca69faa2ebe10289ef8", "rev": "dd33128c2f127f39c30cca72addb1970b8936d07",
"revCount": 6193, "revCount": 6213,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@@ -327,11 +306,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749980366, "lastModified": 1750503578,
"narHash": "sha256-sB2jmzoZgxMOpLsw4EfQyp2NbO3qhorR6gAdbNXHxOk=", "narHash": "sha256-/qnR7/GvGP1cGtOOm4OGJRtkVejn75/jsvJpiqE1ZDk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "4783860953a0777fee43d45fee0df9173f9e8c9e", "rev": "8b4405ab46cafc471d5b09ff7258676dc9aaca59",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -420,11 +399,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749155776, "lastModified": 1750371812,
"narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", "rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -449,11 +428,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749145882, "lastModified": 1750371198,
"narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -495,11 +474,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749819919, "lastModified": 1750371096,
"narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=", "narHash": "sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "57ab2a867d8b554ad89f29060c15efd11631db91", "rev": "38f3a211657ce82a1123bf19402199b67a410f08",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -520,11 +499,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749145760, "lastModified": 1750371869,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", "narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", "rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -557,55 +536,6 @@
"type": "github" "type": "github"
} }
}, },
"nix-formatter-pack": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1705252799,
"narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=",
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"rev": "2de39dedd79aab14c01b9e2934842051a160ffa5",
"type": "github"
},
"original": {
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"type": "github"
}
},
"nix-on-droid": {
"inputs": {
"home-manager": "home-manager_2",
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
},
"locked": {
"lastModified": 1720396533,
"narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=",
"owner": "nix-community",
"repo": "nix-on-droid",
"rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "nix-on-droid",
"type": "github"
}
},
"nixos-wsl": { "nixos-wsl": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
@@ -628,11 +558,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1749794982, "lastModified": 1750365781,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -642,45 +572,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-docs": {
"locked": {
"lastModified": 1705957679,
"narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-for-bootstrap": {
"locked": {
"lastModified": 1720244366,
"narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
}
},
"nixpkgs-latest": { "nixpkgs-latest": {
"locked": { "locked": {
"lastModified": 1750014763, "lastModified": 1750591067,
"narHash": "sha256-lO6pbyJy8AlmCH50M9Am1L6BmvrGwI6qqQYhyBp/DQI=", "narHash": "sha256-E1cW8nG5JceZnbgd8mVAvIEa/PQpAEN7/FknHNUQBn0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "edcaeb67ef6ef8d57443ddc35be953d8ac39258b", "rev": "38e5187aeea047f16faa4f03a110c69e353b8396",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -708,11 +606,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1749794982, "lastModified": 1750365781,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -755,11 +653,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1749857119, "lastModified": 1750400657,
"narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=", "narHash": "sha256-3vkjFnxCOP6vm5Pm13wC/Zy6/VYgei/I/2DWgW4RFeA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98", "rev": "b2485d56967598da068b5a6946dadda8bfcbcd37",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -784,60 +682,6 @@
"type": "github" "type": "github"
} }
}, },
"nmd": {
"flake": false,
"locked": {
"lastModified": 1666190571,
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
"owner": "rycee",
"repo": "nmd",
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmd_2": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs-docs"
],
"scss-reset": "scss-reset"
},
"locked": {
"lastModified": 1705050560,
"narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
"owner": "~rycee",
"repo": "nmd",
"rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -895,7 +739,6 @@
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"hyprspace": "hyprspace", "hyprspace": "hyprspace",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nix-on-droid": "nix-on-droid",
"nixos-wsl": "nixos-wsl", "nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"nixpkgs-latest": "nixpkgs-latest", "nixpkgs-latest": "nixpkgs-latest",
@@ -946,22 +789,6 @@
"type": "github" "type": "github"
} }
}, },
"scss-reset": {
"flake": false,
"locked": {
"lastModified": 1631450058,
"narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=",
"owner": "andreymatin",
"repo": "scss-reset",
"rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91",
"type": "github"
},
"original": {
"owner": "andreymatin",
"repo": "scss-reset",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -969,11 +796,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749592509, "lastModified": 1750119275,
"narHash": "sha256-VunQzfZFA+Y6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC+A=", "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "50754dfaa0e24e313c626900d44ef431f3210138", "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1055,11 +882,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749490041, "lastModified": 1750372504,
"narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=", "narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30", "rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1075,11 +902,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1749888828, "lastModified": 1750515839,
"narHash": "sha256-D6suAjGrP3W3tXGrVffS7EMtMUNQEq0cBzQb5+vjMyY=", "narHash": "sha256-I3FdBExb2eaLVD76Vkl9TFy/snKrE+od0x6vtTMcqXc=",
"owner": "sxyazi", "owner": "sxyazi",
"repo": "yazi", "repo": "yazi",
"rev": "917fee939f23b00a6ea6180f74f7f0e76afc56f9", "rev": "3a9591a3d9d8f4c9fb990274e967bdef89177d14",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -9,7 +9,6 @@
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"; };
nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; }; 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 = "nixpkgs"; };
sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; }; lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; };
@@ -28,22 +27,22 @@
hyper-base = rec { hyper-base = rec {
inherit system; inherit system;
user = "nx2"; user = "nx2";
domain = "nx2.site"; domain = "nx2.site";
home = "/home/${user}/"; home = "/home/${user}/";
webroot = "/var/lib/hugo/nx2site/public";
pkgs-version = "25.05";
}; };
pkgs = (import nixpkgs { inherit system config; }) // { pkgs = import nixpkgs {
unstable = import nixpkgs-unstable { inherit system config; }; inherit system config;
latest = import nixpkgs-latest { inherit system config; }; overlays = [
version = "25.05"; (final: prev: {
}; unstable = import nixpkgs-unstable { inherit system config; };
pkgs64 = let latest = import nixpkgs-latest { inherit system config; };
system = "aarch64-linux"; version = "25.05";
in import nixpkgs { inherit system config; } // { })
unstable = import nixpkgs-unstable { inherit system config; }; ];
latest = import nixpkgs-latest { inherit system config; };
version = "24.05";
}; };
nvidia-base = import ./flake-modules/nvidia.nix; nvidia-base = import ./flake-modules/nvidia.nix;
@@ -52,16 +51,18 @@
in { in {
nixosConfigurations = let nixosConfigurations = let
make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem { make-nixos-system = host: nvidia-settings: nixpkgs.lib.nixosSystem {
inherit pkgs;
modules = [ ./configuration.nix ]; modules = [ ./configuration.nix ];
specialArgs = let specialArgs = let
hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); }; hyper = hyper-base // { inherit host; nvidia = (nvidia-base // nvidia-settings); };
in { inherit pkgs inputs hyper rice secrets; }; in { inherit inputs hyper rice secrets; };
}; };
make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem { make-nixos-wsl-system = host: nixpkgs.lib.nixosSystem {
inherit pkgs;
modules = [ ./nixos-wsl.nix ]; modules = [ ./nixos-wsl.nix ];
specialArgs = let specialArgs = let
hyper = hyper-base // { inherit host; }; hyper = hyper-base // { inherit host; };
in { inherit pkgs inputs hyper rice; }; in { inherit inputs hyper rice; };
}; };
in { in {
NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; }; NxXPS = make-nixos-system "NxXPS" { enable = true; prime = true; };
@@ -69,10 +70,6 @@
NxACE = make-nixos-system "NxACE" { enable = false; }; NxACE = make-nixos-system "NxACE" { enable = false; };
NxWSL = make-nixos-wsl-system "NxWSL"; NxWSL = make-nixos-wsl-system "NxWSL";
}; };
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = pkgs64;
modules = [ ./nix-on-droid.nix ];
};
homeConfigurations = let homeConfigurations = let
make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration { make-home-configuration = host: user: nvidia-settings: home-manager.lib.homeManagerConfiguration {
@@ -94,8 +91,6 @@
"${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; }; "${hyper-base.user}@NxNORTH" = make-home-configuration "NxNORTH" hyper-base.user { enable = true; prime = false; };
"${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; }; "${hyper-base.user}@NxACE" = make-home-configuration "NxACE" hyper-base.user { enable = false; };
"${hyper-base.user}@NxS23U" = make-shell-configuration "NxS23U" hyper-base.user;
"${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user; "${hyper-base.user}@NxWSL" = make-shell-configuration "NxWSL" hyper-base.user;
}; };
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
bitwarden bitwarden

View File

@@ -1,4 +1,4 @@
{ pkgs, user, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = let home.packages = let
u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" { u = pkgs.writers.writePython3Bin "nx_fix_campuszeit_python" {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, secrets, ... }: let { pkgs, ... }@all: with all; let
calendars = with hyper; [ calendars = with hyper; [
{ {
name = "Preservation"; name = "Preservation";
@@ -85,7 +85,7 @@ in {
userName = hyper.user; # my globally set username userName = hyper.user; # my globally set username
}; };
}; };
in pkgs.lib.attrsets.mergeAttrsList ( in lib.attrsets.mergeAttrsList (
map (calendar: { map (calendar: {
"${calendar.name}" = transform_caledar_set ( default_set // calendar ); "${calendar.name}" = transform_caledar_set ( default_set // calendar );
}) calendars }) calendars
@@ -93,7 +93,7 @@ in {
programs.thunderbird.settings = let programs.thunderbird.settings = let
to_safe_name = name: (builtins.replaceStrings ["."] ["-"]) name; to_safe_name = name: (builtins.replaceStrings ["."] ["-"]) name;
in (pkgs.lib.attrsets.mergeAttrsList ( in (lib.attrsets.mergeAttrsList (
map (calendar: with ( default_set // calendar ); { map (calendar: with ( default_set // calendar ); {
"calendar.registry.${to_safe_name calendar.name}.cache.enabled" = true; "calendar.registry.${to_safe_name calendar.name}.cache.enabled" = true;
"calendar.registry.${to_safe_name calendar.name}.calendar-main-default" = primary; "calendar.registry.${to_safe_name calendar.name}.calendar-main-default" = primary;
@@ -106,7 +106,7 @@ in {
"calendar.registry.${to_safe_name calendar.name}.readOnly" = read-only; "calendar.registry.${to_safe_name calendar.name}.readOnly" = read-only;
}) calendars }) calendars
) // { ) // {
"calendar.list.sortOrder" = pkgs.lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars; "calendar.list.sortOrder" = lib.fold (calendar: acc: calendar.name + " " + acc) "" calendars;
"calendar.week.start" = 1; "calendar.week.start" = 1;
}); });
} }

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, rice, secrets, ... }: { pkgs, ... }@all: with all;
let let
channels = [ channels = [
"Caedrel" "Caedrel"

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
services.clipman = { services.clipman = {
package = pkgs.clipman; package = pkgs.clipman;

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View File

@@ -1,12 +1,12 @@
{ pkgs, hyper, rice, secrets, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
thunderbird thunderbird
]; ];
programs.thunderbird = let programs.thunderbird = let
inherit (pkgs.lib.generators) toJSON; inherit (lib.generators) toJSON;
extensions = toJSON {} { extensions = toJSON {} {
"addon@darkreader.org" = "71d6c69d-55f9-4c56-888c-abdcf6efd73d"; "addon@darkreader.org" = "71d6c69d-55f9-4c56-888c-abdcf6efd73d";
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, ... }: { pkgs, ... }@all: with all;
# browser.tabs.allow_transparent_browser # browser.tabs.allow_transparent_browser
# https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/ # https://www.reddit.com/r/FirefoxCSS/comments/1dqws4b/firefox_128_will_allow_the_main_browser_content/
{ {

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
fish fish

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host == "NxNORTH") lib.mkIf (hyper.host == "NxNORTH")
{ {
home = { home = {
packages = (with pkgs.unstable; [ packages = (with pkgs.unstable; [

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host == "NxXPS") lib.mkIf (hyper.host == "NxXPS")
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
libinput-gestures libinput-gestures

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }: { pkgs, ... }@all: with all;
{ {
programs.ghostty = { programs.ghostty = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
# (gimp-with-plugins.override { # (gimp-with-plugins.override {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
delta delta
@@ -21,10 +21,10 @@
}; };
extraConfig = { extraConfig = {
credential = { credential = {
"https://git.da.dicos.de".username = pkgs.lib.mkIf (hyper.host =="NxWSL") "lkurzweg"; "https://git.da.dicos.de".username = lib.mkIf (hyper.host =="NxWSL") "lkurzweg";
"https://git.da.dicos.de".password = pkgs.lib.mkIf (hyper.host =="NxWSL") "Test"; "https://git.da.dicos.de".password = lib.mkIf (hyper.host =="NxWSL") "Test";
}; };
url."ssh://git@git.da.dicos.de/".insteadOf = pkgs.lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/"; url."ssh://git@git.da.dicos.de/".insteadOf = lib.mkIf (hyper.host =="NxWSL") "https://git.da.dicos.de/";
pull.rebase = false; # true pull.rebase = false; # true
}; };
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
# there also is a system module # there also is a system module
home.packages = with pkgs; [ home.packages = with pkgs; [
@@ -7,7 +7,6 @@
pinentry-all pinentry-all
]; ];
# services.pcscd.enable = true;
services.gpg-agent = let services.gpg-agent = let
min2sec = min: (min * 60); min2sec = min: (min * 60);
in { in {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, rice, ... }: { pkgs, ... }@all: with all;
let let
# theme-name = "Colloid-Pink-Dark-Compact"; # theme-name = "Colloid-Pink-Dark-Compact";
# theme-package = pkgs.colloid-gtk-theme.override { # theme-package = pkgs.colloid-gtk-theme.override {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
@@ -271,7 +271,7 @@
command = "nixd"; command = "nixd";
}; };
"style-check" = { "style-check" = {
command = pkgs.lib.getExe pkgs.vale-ls; command = lib.getExe pkgs.vale-ls;
}; };
"language-tool" = { "language-tool" = {
command = "${pkgs.ltex-ls}/bin/ltex-ls"; command = "${pkgs.ltex-ls}/bin/ltex-ls";
@@ -287,7 +287,7 @@
]; ];
}; };
"llm" = { "llm" = {
command = pkgs.lib.getExe pkgs.helix-gpt; command = lib.getExe pkgs.helix-gpt;
args = [ args = [
"--handler" "--handler"
"ollama" "ollama"

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ hyprland-autoname-workspaces ]; packages = with pkgs; [ hyprland-autoname-workspaces ];

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, inputs, rice, ... }: { pkgs, ... }@all: with all;
let let
animation-speed = "5"; animation-speed = "5";
transparency = builtins.toString rice.transparency; transparency = builtins.toString rice.transparency;
@@ -308,8 +308,8 @@ in {
"opacity ${transparency}, class:^(Code)$" "opacity ${transparency}, class:^(Code)$"
"opacity ${transparency}, class:^(code-oss)$" "opacity ${transparency}, class:^(code-oss)$"
"opacity ${transparency}, class:^(discord)$" "opacity ${transparency}, class:^(discord)$"
"opacity ${transparency}, class:^(element)$" "opacity ${transparency}, class:^(vesktop)$"
"opacity ${transparency}, class:^(Element)$" # "opacity ${transparency}, class:^(Element)$"
"opacity ${transparency}, class:^(lutris)$" "opacity ${transparency}, class:^(lutris)$"
"opacity ${transparency}, class:^(neovide)$" "opacity ${transparency}, class:^(neovide)$"
"opacity ${transparency}, class:^(obsidian)$" "opacity ${transparency}, class:^(obsidian)$"

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
texlab # LSP texlab # LSP

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ libnotify ]; home.packages = with pkgs; [ libnotify ];
services.mako = with rice; { services.mako = with rice; {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
# cinny-desktop # cinny-desktop

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
nixd nixd

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.nvidia.enable == true) lib.mkIf (hyper.nvidia.enable == true)
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View File

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

View File

@@ -1,11 +1,11 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = [ home.packages = [
(pkgs.writeShellApplication { (pkgs.writeShellApplication {
name = "nx_backup"; name = "nx_backup";
runtimeInputs = [ ]; runtimeInputs = [ ];
text = let text = let
web-root = "/var/nginx/webroot"; web-root = hyper.webroot;
gitea-backup = "/var/backup/gitea"; gitea-backup = "/var/backup/gitea";
postgres-backup = "/var/backup/postgresql"; postgres-backup = "/var/backup/postgresql";
in /* bash */ '' in /* bash */ ''
@@ -59,8 +59,7 @@
echo "Backup and encryption complete: $DESTINATION" echo "Backup and encryption complete: $DESTINATION"
echo "Space remaining:" echo "Space remaining:"
df -h | head -n 1 dysk
df -h | grep -P "^/dev.+? "
''; '';
}) })
]; ];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
(writeShellApplication { (writeShellApplication {

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
ghostscript ghostscript

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
# home.packages = with pkgs; [ # home.packages = with pkgs; [
# obs-studio # obs-studio

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
libreoffice libreoffice

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
ollama ollama
@@ -16,10 +16,10 @@ if len(sys.argv) < 2:
system_message = sys.argv[1] system_message = sys.argv[1]
input_text = sys.stdin.read() input_text = sys.stdin.read()
try: try:
response = ollama.chat(model='llama3.1:8b', messages=[ response = ollama.chat(model='gemma3:4b', messages=[
{ {
'role': 'system', 'role': 'system',
'content': "You are a text transformer. Follow the folling instruction:\n\n" + system_message + "\n\nOnly output the transformed text. Do not add any addidional conversation around the output. Just the result.", 'content': system_message,
}, },
{ {
'role': 'user', 'role': 'user',

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
pandoc pandoc

View File

@@ -0,0 +1,15 @@
{ pkgs, ... }@all: with all; {
home.packages = with pkgs; [
brightnessctl
blueman
fontpreview
gsettings-desktop-schemas
imv
pavucontrol
# playerctl
swww
wev
wl-clipboard
xclip
];
}

View File

@@ -0,0 +1,16 @@
{ pkgs, hyper, ... }: {
home.packages = with pkgs; [
chromium
element-desktop
mpv
qbittorrent
unstable.spotify
wl-clipboard
xfce.thunar
] ++ (if (hyper.host != "NxACE") then [
signal-desktop
obsidian
zoom-us
inkscape
] else []);
}

View File

@@ -1,8 +1,6 @@
{ pkgs, ... }: { pkgs, ... }@all: with all; {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
bat bat
browsh
cmake cmake
dig dig
du-dust du-dust

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, secrets, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
home.packages = [ home.packages = [
pkgs.remmina pkgs.remmina

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
erlang erlang

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
nodejs nodejs

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home = let home = let
python-with-packages = pkgs.python3.withPackages (pp: with pp; [ python-with-packages = pkgs.python3.withPackages (pp: with pp; [

View File

@@ -1,4 +1,5 @@
{ pkgs, rice, ... }: { { pkgs, ... }@all: with all;
{
home.packages = with pkgs; [ home.packages = with pkgs; [
rofi-wayland rofi-wayland
]; ];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
xsane xsane

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }: { pkgs, ... }@all: with all;
let let
my-sent = pkgs.sent.override { my-sent = pkgs.sent.override {
patches = [ patches = [

View File

@@ -1,12 +1,12 @@
{ pkgs, hyper, inputs, ... }: { pkgs, ... }@all: with all;
{ {
imports = [ imports = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
]; ];
sops = { sops = {
age.keyFile = pkgs.lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt"; age.keyFile = lib.mkIf (hyper.host == "NxACE") "${hyper.home}.age_nx2_key_13.txt";
gnupg.home = pkgs.lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg"; gnupg.home = lib.mkIf (hyper.host != "NxACE") "${hyper.home}.gnupg";
defaultSopsFile = ../sops-secrets.yaml; defaultSopsFile = ../sops-secrets.yaml;
# %r is $XDG_RUNTIME_DIR # %r is $XDG_RUNTIME_DIR

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ sshfs ]; packages = with pkgs; [ sshfs ];

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }: { pkgs, ... }@all: with all;
{ {
programs.starship = { programs.starship = {
enable = true; enable = true;
@@ -7,7 +7,7 @@
enableFishIntegration = true; enableFishIntegration = true;
settings = with rice.color; { settings = with rice.color; {
add_newline = false; add_newline = false;
format = pkgs.lib.strings.concatMapStrings (x: "$" + x) [ format = lib.strings.concatMapStrings (x: "$" + x) [
"jobs" "jobs"
"battery" "battery"
"username" "username"

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
(writeShellApplication { (writeShellApplication {

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: let { pkgs, ... }@all: with all; let
vws = pkgs.vale.withStyles (s: [ s.alex s.google ]); vws = pkgs.vale.withStyles (s: [ s.alex s.google ]);
in { in {
home = { home = {

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host == "NxNORTH") lib.mkIf (hyper.host == "NxNORTH")
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
virt-manager virt-manager

View File

@@ -1,6 +1,6 @@
{ config, pkgs, hyper, rice, ... }: { pkgs, ... }@all: with all;
{ {
config = pkgs.lib.mkIf (hyper.host != "NxACE") { config = lib.mkIf (hyper.host != "NxACE") {
home.packages = [ home.packages = [
pkgs.vscodium pkgs.vscodium
pkgs.nixpkgs-fmt pkgs.nixpkgs-fmt
@@ -92,13 +92,13 @@
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix"; # url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/mutability.nix";
# sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8"; # sha256 = "4b5ca670c1ac865927e98ac5bf5c131eca46cc20abf0bd0612db955bfc979de8";
# }) # })
# { inherit config pkgs; lib = pkgs.lib; }) # { inherit config pkgs; lib = lib; })
# (import # (import
# (builtins.fetchurl { # (builtins.fetchurl {
# url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix"; # url = "https://gist.githubusercontent.com/piousdeer/b29c272eaeba398b864da6abf6cb5daa/raw/41e569ba110eb6ebbb463a6b1f5d9fe4f9e82375/vscode.nix";
# sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f"; # sha256 = "fed877fa1eefd94bc4806641cea87138df78a47af89c7818ac5e76ebacbd025f";
# }) # })
# { inherit config pkgs; lib = pkgs.lib; }) # { inherit config pkgs; lib = lib; })
# ] else []; # ] else [];
} }

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
(writers.writePython3Bin "change_colors_json" { (writers.writePython3Bin "change_colors_json" {

View File

@@ -1,5 +1,4 @@
{ pkgs, hyper, rice, ... }: { pkgs, hyper, ... }@all: with all; let
let
sep = " "; sep = " ";
in { in {
sops.secrets = { sops.secrets = {

View File

@@ -1,4 +1,4 @@
{ pkgs, rice,... }: { pkgs, ... }@all: with all;
{ {
home = { home = {
packages = with pkgs; [ wlogout ]; packages = with pkgs; [ wlogout ];

32
home-modules/xdg.nix Normal file
View File

@@ -0,0 +1,32 @@
{ pkgs, ... }@all: with all; {
xdg = {
enable = true;
configHome = "${hyper.home}.config";
cacheHome = "${hyper.home}.cache";
dataHome = "${hyper.home}.local/share";
stateHome = "${hyper.home}.local/state";
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";
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, rice, inputs, ... }: { pkgs, ... }@all: with all;
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
unar unar
@@ -34,6 +34,7 @@
{ on = [ "g" "e" ]; run = "arrow up"; desc = "Move cursor to the end"; } { on = [ "g" "e" ]; run = "arrow up"; desc = "Move cursor to the end"; }
{ on = [ "g" "h" ]; run = "cd ~"; desc = "Go to the home directory"; } { 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"; } { 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" "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" "c" ]; run = "cd ~/.config"; desc = "Go to the config directory"; }
{ on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; } { on = [ "g" "l" ]; run = "cd ~/.locale"; desc = "Go to the .locale directory"; }

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
imports = [ imports = [
./home-modules/auto-mount.nix ./home-modules/auto-mount.nix
@@ -27,7 +27,6 @@
./home-modules/latex.nix ./home-modules/latex.nix
./home-modules/mako.nix ./home-modules/mako.nix
# ./home-modules/matrix.nix # ./home-modules/matrix.nix
# ./home-modules/nm.nix
./home-modules/nh.nix ./home-modules/nh.nix
./home-modules/nixd.nix ./home-modules/nixd.nix
./home-modules/nvidia.nix ./home-modules/nvidia.nix
@@ -36,6 +35,9 @@
./home-modules/office.nix ./home-modules/office.nix
./home-modules/ollama.nix ./home-modules/ollama.nix
./home-modules/pandoc.nix ./home-modules/pandoc.nix
./home-modules/pkgs-list/desktop.nix
./home-modules/pkgs-list/programs.nix
./home-modules/pkgs-list/shell.nix
./home-modules/pnx.nix ./home-modules/pnx.nix
./home-modules/programming/c.nix ./home-modules/programming/c.nix
./home-modules/programming/gleam.nix ./home-modules/programming/gleam.nix
@@ -57,6 +59,7 @@
./home-modules/wallpaper-to-colors.nix ./home-modules/wallpaper-to-colors.nix
./home-modules/waybar.nix ./home-modules/waybar.nix
./home-modules/wlogout.nix ./home-modules/wlogout.nix
./home-modules/xdg.nix
./home-modules/yazi.nix ./home-modules/yazi.nix
./home-modules/zathura.nix ./home-modules/zathura.nix
./home-modules/zoxide.nix ./home-modules/zoxide.nix
@@ -66,95 +69,7 @@
] else []); ] else []);
home.username = hyper.user; home.username = hyper.user;
# home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here # home.homeDirectory = hyper.home; # for some reason you cant use hyper.home here
home.homeDirectory = "/home/${hyper.user}"; home.homeDirectory = "/home/${hyper.user}";
home.stateVersion = pkgs.version; home.stateVersion = hyper.pkgs-version;
home.packages = with pkgs; [
bat
brightnessctl
browsh
chromium
cmake
dig
du-dust
exiftool
eza
ffmpeg
figlet
fontpreview
fzf
glib
glow
gnumake
gsettings-desktop-schemas
imagemagick
imv
jq
lolcat
lynx
mediainfo
mpv
neofetch
pavucontrol
pdfgrep
piper-tts
pipes
playerctl
pv
qbittorrent
reflex
ripgrep
screen
spicetify-cli
sssnake
swww
systemctl-tui
tldr
unstable.spotify
w3m
wev
wl-clipboard
xclip
xfce.thunar
yt-dlp
] ++ (if (hyper.host != "NxACE") then [
signal-desktop
obsidian
zoom-us
inkscape
] else []);
xdg = {
enable = true;
configHome = "${hyper.home}.config";
cacheHome = "${hyper.home}.cache";
dataHome = "${hyper.home}.local/share";
stateHome = "${hyper.home}.local/state";
mimeApps = {
enable = true;
defaultApplications = let
browser = "firefox.desktop";
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" = "imv.desktop";
"image/jpg" = "imv.desktop";
"image/jpeg" = "imv.desktop";
"image/webp" = "imv.desktop";
"image/gif" = "imv.desktop";
"application/pdf" = "zathura.desktop";
"inode/directory" = "thunar.desktop";
};
};
};
# Wayland, X, etc. support for session vars
# systemd.user.sessionVariables = home.sessionVariables;
# Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;
} }

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
# Simply install just the packages # Simply install just the packages
environment.packages = with pkgs; [ environment.packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, inputs, ... }: { pkgs, ... }@all: with all;
{ {
imports = [ imports = [
inputs.nixos-wsl.nixosModules.default inputs.nixos-wsl.nixosModules.default

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
imports = [ imports = [
./home-modules/bash.nix ./home-modules/bash.nix

View File

@@ -45,7 +45,7 @@ eduroam:
client-key: ENC[AES256_GCM,data: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,iv:elOnzTpyIwv49ErwOZRINMSXryBwiwP8Kus83+tAzks=,tag:QN3WdC+TUB01X2p76+ng3w==,type:str] client-key: ENC[AES256_GCM,data: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,iv:elOnzTpyIwv49ErwOZRINMSXryBwiwP8Kus83+tAzks=,tag:QN3WdC+TUB01X2p76+ng3w==,type:str]
root-ca: ENC[AES256_GCM,data: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,iv:8UyU8fVq8YaSsurOOgsKGIAelaxWR7+AITwwf7ts4qk=,tag:K/zGiCthB6Vyh0ijRDxM6w==,type:str] root-ca: ENC[AES256_GCM,data:FZrNXRgqHVkPcH1QYc+UGRANki2syD4mSvdx3LN5A3aSoQe2x8NxaNv9t6FB9DRTtwY9jM4i4uIWS/0n2j67LrdB/4ftpX1o2CoTQ6K72XzwU4wUlkqIIJSoaB11olJL0yRjTRHihjjswJoEGVfEpnMqYSEplj7cuMHlLJTJq6vNJDJRD769aVK7eFHmbhfZxj58g5kCSrknGcBfJkFH1nR9ONhib/C7CzcJz2vU46XmhHuVOpKojHQzLn9RF8FN61QxinrXmI+tZmmccc63y1HiqOMWj0SuXlpXcNY0/RHS7Zl1oajNTlJ73NC8Nc6yuvvlTgaCM+DrecumHhlK82rmwihWyEmrWJq1Xi+Pw1wjxp+2dW3+w1shqf+rqDUCSwNWHmnVdJOkwCY5e3QX69YHFeS5Aq3rckjNPyN9Nyyhq9bXweMLd74GohMHORVvvklgqn1k0pmLS27+MAUIpiRMjNSqTzqYfBICoYQaIqMV1Y1XfskmWtcpv8B26vrZxTZCl9SEQzuKO19zaJelYd86C9+q3YbB1w682qOw/4frM8Y6ohjfDjquELeqRLVZNPs0RAA4eCqWsEUGgjisT4MaepOSxSug6nhxVX4a7skqiarV9WWaiSIrvSP7O/NKcZgyVYqsj3818Ut7ZmzobUapdiwpojdxYeaofMWDcq+OLVAGBGktq1HoVNO5z+KEbBjhpPzyNvtfHvCsd7GetQ3Nk4pkj6ENL8MA4m7gZvwdZG/u+3rAqhMVxBLGzPl686Mbln7MVhpEos9LNmHOFdEk4d1sdXHzxcgsjUmvFoc0RlcD/wkO2ImvZJZN/hXnEC8hWiUen0bXECVzZql+OXF79ZekmES8XqjddhQ47/8OxgszAPPMtNL1NgK5nQDS31LH9/Q7jDGjdRj4TDSQmHyQuhVTGBC9BBlO4rRvwbndfO5Vv8fo7oRn2kJMKtEoB0PkVKFBReDW4XSkgibWfy4wqpUNoQ8kHkINZM79qdx6zaAQ+6KOawVObd3+WgC0IUKYxNxQCvJOdYyCuGgDgH2iPJIaR2GaUNwFHEwBtGbD/nPelM7Je3xhqfTPUPAsoUWM3sQGo/1Li272RhR/2qZtHIVpyKkJcHa/bcuvByOB8W0V/TlP6FFMPXRk+X/blpDrZiRW/5yTgfDVL+orGQd1LVJojRORPtvNwMJAqN9ZsTO3/bdcUd1bKn5X+wSbepH7pqH9hPcsTHIO7O3T3Bs5YMFUT6zpeu/SDi8vf/KjQwH3sa45PHxQSr8r68onYrsHJl8l65e7RifzsPhSbc1nvHv42b7S8874EuBWjTrQcibM1prxJONg+yJQy7adf4cV5GHZozirMulSxEPAOZ5WqyYgrOkwyVSupT9xhGphT4FYYya0OkNLIl1XmHyb36/qP68fVVHQ37CQpXTqqzvSoWkjFQXb9XF+3erKLQPYNa5wK9RFtffbMrZsDLufR/FXaRPQ/nxN50yxLnjKkGMqM3t10fbztocXIE9Xc+W7qqIwvjstWt8n2p5QjyditH9kFka50HH99G2xO+5jeiY30ffqg69glWrfkys2TT29vIbVd9ljbA4zZwYZ5KyZZSZN47EOBtOe7CCaPJws0zyq+z1JQCYiupKDqRBKv6IJSRY4g+5GS1o7srYng0Llx7XqhGoWXyScP4LElF5sFGvouV8KV/P0P133mxLaAjmHmBxno/16Q+lbIQ0ytgph8OUfLK/lybLCasH07AnPPwAnNfULTKIs5aBS9hOGz//HyNFuoKaOzMPoFxwToIdF7+EvaY0dnsUrvCvxq4lGLwkGfO4ptt6y2FfTUzoKDAZFfd76EVLSQq1gTZ+lXxXK+sYgRT5gZ/EPcZE8sjgINKsOcj1AqcVZm2KvdSS1HE6fUQVm87cgVtEHOT7B5zMnJrFFrdRMSAbxUx4KBv4AzLUEhMyxfKLQm5NH5srvxPsKqhKl71Hestd8cWvJV+SmnU98m18A9Ck1MnjcSsQshuGHPWQGx0s/tkkeScIm/t7D4tbfKWdvN44KTnpeJCAmxO/vI5BOzTerYta0ViiV/bR2a5JtGVLC9yP3Zurk4lfcXNAMYKqf/CjBXRfNUNXVw+k/LdxKLYQCt8F+HBTpqGDdsO8RGofvfFJqM0PQcwf4GbbXFWBq5BsstonXAl/vsnAdcPcKr9KuArr6BHdRvY0HMlpSPMmGeEW94gA7Hg9IFJLTZrwOekg54xAe5KfNfkJZGb6oBU9f8D98zhw0KciHO993gNXeONuQMxVB/n33polT4vBjYOu9FuQQeJ6de94rnObIgpiKhaOCht2HF7s9kdOSN3/h6PfRJ8xI2e/9tolP6g==,iv:8UyU8fVq8YaSsurOOgsKGIAelaxWR7+AITwwf7ts4qk=,tag:K/zGiCthB6Vyh0ijRDxM6w==,type:str]
nxxpspw: ENC[AES256_GCM,data:IpzL3rsB9BN5fhUBMtAo3DPhk6LEDuizHUj+mPPtQA==,iv:zjH5Bcw0q57oyA/ce0scSIeDvmt51vQzttHq6hwDkwk=,tag:Gf0NUQ3O3fol0M0+2HpGEA==,type:str] nxxpspw: ENC[AES256_GCM,data:IpzL3rsB9BN5fhUBMtAo3DPhk6LEDuizHUj+mPPtQA==,iv:zjH5Bcw0q57oyA/ce0scSIeDvmt51vQzttHq6hwDkwk=,tag:Gf0NUQ3O3fol0M0+2HpGEA==,type:str]
tuda_nmconnection: ENC[AES256_GCM,data:LHy4lYZ6hf0Xfz25KSIY47TwrjNoEvqPi21mXKsfOq9/8Hmveca7UD9jfSbL2fyQ7dEBB2yoW01l6L63GilmSRUqd7eU2dhUCOdZ6L0j7IiFg51oT0FtJSKnQIf9BHslRWP3gQifOxKCIMGwhVEw6xMRINwRizjq073oCCDvgKtbW0cxLy8s4VOsBgAjCWiRDWaItYW83lLL6y49SYw8JJljZXGwrSxmE/wN2STJ05Wzc3cuah63b+lKnGAApkfCALGYGjdktJ/87wT0RveTyV7DzmKOd9Oo0N2cPB91vsnYOKlUBEsNo45x52tvlAx4qJ7358SjNTV0i4HD+k5/byKe8IvSnEsRjvnOLG9OXdCkdf17NcI7VvWPF6u3kAWp81Wc+6lFo9LXB5AE8dRpf5naC1wseLl2pU/8cdgj2EgVl89mo8QaaQfAPxEbaFDnQcNCEYXcRcwjVfBV5cQVqYIrcmmb/c1IVGOOSBijM8u19zq5DfUP1uc835RE9D6NL7NV69VvgoYjb/8/GGf11hDcDESaOEK3zULeyKU0K0hM7AluI8rnZsOZJK70OMLJsUPvVfI0GS9NGZXjYfCoALE0DAt2Qi4cKMNLQzQvHkvXGbdMpzI=,iv:SZmGSEOEPdzWvYvAe4/Iv8qNZjaAfSY+uVfpt3BBN9Q=,tag:NprSgZJwjBHCEKNNypESxg==,type:str] tuda_nmconnection: ENC[AES256_GCM,data:ubOpTdlwBKqKPCqT/L1+JOVl8t4OIIxr5ac+iHQfjzoUCBDFcmH4w7rQVr1G231NqmVgCtLgakOmJruqR5NRMgHtB8YaLfISD6nu6q2oqwBeQv9rfs8YDobanyyLtbKuPD4SSKdZXP23xAdP/YsgLCYmHTc878jhUYz3tRXg4jLWZtIW2neOxqyyZh96x5dT8IfU5DN+JQLVgarBH5Mnki/APLAW7L9zhmn5gLXOUp7yjNjovKw+IKm8o7/3zRwEIJk36qpA8mw2Vu+aBjnep+pKaAjmBx5jUwXQOUDRmziPqoeYUiz4wIYh3rQNiM+9KoimtNbs1tY2t6wk2n23Il4GQ86EH0toVioKybRUr4kx2q4N0+RZVecc11HaAnX2U+oyNFLptk/uLfqWEwiY+khfrLU54JYeOKdbWZqe3imh671EUeMBws3AeS8v0dYhzBtUnJV1+N4Wdn4GmV36+Xhgrsz64SgMNmGe+xkwfpsSetNmy0NSrYZDxoMP3GodGJ7DJ/JzT8Y4fWB61BdUhrzbdQuKgtB/YjYr9OtmVnK2QwswFBVs8+XyB/T1Gi7pRzS0nV0fjXrRmDzbvKqQj4RZ//DqPxDxQmwcYShc0OmcrioCjO0=,iv:H4wOADm86rKrwj41kNaIo2RvsLg2jVlrgx4U5Fj7hp0=,tag:5vYu0hOiI7exCGeB/t9/bQ==,type:str]
hsmw-vpn-secret: ENC[AES256_GCM,data:3bKxRGTQcbhRjzARSpYBW5ekQW/U/ixzNiFmO36gw0NKyDMLlbVbJBqXvi71M0GXgmo/FA==,iv:7bVDA8u9apDNXFY/vEMbz/0HywG5Pyrl5JfZrcNCr8w=,tag:xz4j7cEc5hvLwrItWjkx0Q==,type:str] hsmw-vpn-secret: ENC[AES256_GCM,data:3bKxRGTQcbhRjzARSpYBW5ekQW/U/ixzNiFmO36gw0NKyDMLlbVbJBqXvi71M0GXgmo/FA==,iv:7bVDA8u9apDNXFY/vEMbz/0HywG5Pyrl5JfZrcNCr8w=,tag:xz4j7cEc5hvLwrItWjkx0Q==,type:str]
postgres-pw: ENC[AES256_GCM,data:D9b7IbvLshmRuSyF9+V3WqVf/95+OhCJm0g=,iv:D4tpzEBzcCatbnQwtOGn8X0QSrXOye20rXaw8TSB7Gk=,tag:Q0B/86eDKkhu0Jnln1sUyg==,type:str] postgres-pw: ENC[AES256_GCM,data:D9b7IbvLshmRuSyF9+V3WqVf/95+OhCJm0g=,iv:D4tpzEBzcCatbnQwtOGn8X0QSrXOye20rXaw8TSB7Gk=,tag:Q0B/86eDKkhu0Jnln1sUyg==,type:str]
sops: sops:
@@ -86,8 +86,8 @@ sops:
YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/ YkJWUEMySU50ZHVxUzVudjNnYURXak0KkMn/8sFrrviqb3s8DtS/BAbrdCwJ+jv/
A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw== A8rXQkKMjvTqG1f0fq5IlSmRAQy7XFBzkfbKdIUoefhey190WPEHaw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-05-05T15:43:24Z" lastmodified: "2025-06-16T08:57:57Z"
mac: ENC[AES256_GCM,data:O+L35rVqMaogvBDpnIweo1hdNXU39tEmBFXXTlLyImwt8ZWN98MIcS6tOBRjOAMSTRXEkNgvoggn/3ZF7erAva5w0ohVyN5PUeJvjNqkOQ522YTVC5wYYjvG+LUgaKcvKlm5c8XGEwJBt81i/ZXt0P03RpHge2a687dZ5e8fEQQ=,iv:0pOFGLPZC8gN3hV/FTzY1443283nwsHKiUdmdQyOn8U=,tag:GMMZX55DRZkRqe1HMpVX8g==,type:str] mac: ENC[AES256_GCM,data:Qwk39Cv+WhxnW8858qWtGPiCrYb4bje5nRGOkG4OrAC/dZ+wpbMd9DXF134PUM1NB/aI3ivnl4EeVAlcv/E32EjodZJOGkseKme5Hler69+nfL0DJT00XhBDR3aGVf3YMA5Po+XR9ikLKFF1wz4DhV4ylN6RxxMrpLJltba+0NI=,iv:QUulKPfnAujRUNWKBKUsIynOHsd4E09NO8TlaQwzFy0=,tag:N1LNlbvdjkXWarIAI9tkZg==,type:str]
pgp: pgp:
- created_at: "2025-06-08T12:35:30Z" - created_at: "2025-06-08T12:35:30Z"
enc: |- enc: |-

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, lib, ... }: { pkgs, ... }@all: with all;
lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -0,0 +1,19 @@
{ 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
]);
}

View File

@@ -0,0 +1,10 @@
{ pkgs, ... }@all: with all; {
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
package = pkgs.bluez5-experimental;
settings.Policy.AutoEnable = "true";
settings.General.Enable = "Source,Sink,Media,Socket";
};
services.blueman.enable = true;
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, inputs, ... }: { pkgs, ... }@all: with all;
let let
grub-theme-ascii-diana = (pkgs.fetchFromGitea { grub-theme-ascii-diana = (pkgs.fetchFromGitea {
domain = "git.${hyper.domain}"; domain = "git.${hyper.domain}";
@@ -7,70 +7,64 @@ let
rev = "0.5.0"; rev = "0.5.0";
hash = "sha256-e+55NYsSsWY6GPbYUtdVEB9krueuCAWT3Ce/Ghops1g="; hash = "sha256-e+55NYsSsWY6GPbYUtdVEB9krueuCAWT3Ce/Ghops1g=";
}); });
in device-boot = if hyper.host == "NxNORTH" then {
{ kernelPackages = pkgs.linuxPackages_zen;
environment.systemPackages = with pkgs; [ sbctl ];
lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
loader.systemd-boot = {
enable = false; # let lanzaboote install systemd-boot
consoleMode = "max";
configurationLimit = 10;
};
} else if hyper.host == "NxXPS" then {
kernelPackages = pkgs.linuxPackages_latest;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
kernelModules = [ "v4l2loopback" ];
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
configurationLimit = 30;
device = "nodev";
# useOSProber = true;
efiSupport = true;
theme = grub-theme-ascii-diana;
font = "${grub-theme-ascii-diana}/unicode.pf2";
fontSize = 50;
extraEntries = ''
menuentry 'Windows 11' --class windows --class os $menuentry_id_option 'osprober-efi-0A97-7A2D' {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0A97-7A2D
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
'';
};
};
} else if hyper.host == "NxACE" then {
kernelPackages = pkgs.linuxPackages_6_12;
loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
device = "nodev";
devices = [];
efiSupport = true;
};
};
} else assert 1 == "Unknown host"; {};
in {
imports = if hyper.host == "NxNORTH" then [ imports = if hyper.host == "NxNORTH" then [
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
] else []; ] else [];
config = if hyper.host == "NxNORTH" then { config.boot = {
# I have to boot with secureboot becasue of the chinese spyware called Vanguard extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
kernelModules = [ "v4l2loopback" ];
environment.systemPackages = with pkgs; [ sbctl ]; extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1'';
boot = { tmp.useTmpfs = false;
lanzaboote = { } // device-boot;
enable = true;
pkiBundle = "/var/lib/sbctl";
};
loader.systemd-boot = {
enable = false; # let lanzaboote install systemd-boot
consoleMode = "max";
configurationLimit = 10;
};
kernelPackages = pkgs.linuxPackages_zen;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
kernelModules = [ "v4l2loopback" ];
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1'';
};
security.polkit.enable = true;
} else if hyper.host == "NxXPS" then {
boot = {
loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
configurationLimit = 30;
device = "nodev";
# useOSProber = true;
efiSupport = true;
theme = grub-theme-ascii-diana;
font = "${grub-theme-ascii-diana}/unicode.pf2";
fontSize = 50;
extraEntries = ''
menuentry 'Windows 11' --class windows --class os $menuentry_id_option 'osprober-efi-0A97-7A2D' {
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root 0A97-7A2D
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
'';
};
};
kernelPackages = pkgs.linuxPackages_latest;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
kernelModules = [ "v4l2loopback" ];
extraModprobeConfig = ''options v4l2loopback devices=1 video_nr=1 card_label="OBS VCam" exclusive_caps=1'';
};
} else { # NxACE
boot = {
loader = {
efi.canTouchEfiVariables = true;
grub = {
enable = true;
device = "nodev";
efiSupport = true;
};
};
kernelPackages = pkgs.linuxPackages_6_12;
};
};
} }

11
system-modules/cache.nix Normal file
View File

@@ -0,0 +1,11 @@
{ ... }: {
nix.settings = {
substitute = true;
substituters = [
"https://yazi.cachix.org"
];
trusted-public-keys = [
"yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k="
];
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
systemd.timers."nx_cal_dicos" = { systemd.timers."nx_cal_dicos" = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
systemd.timers."nx_cal_lec" = { systemd.timers."nx_cal_lec" = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
systemd.timers."nx_cal_lr" = { systemd.timers."nx_cal_lr" = {
enable = true; enable = true;

View File

@@ -1,9 +1,7 @@
{ pkgs, hyper, ... }: { pkgs, hyper, ... }@all: with all; let
let
radicale-root = "/var/lib/radicale"; radicale-root = "/var/lib/radicale";
web-root = "/var/nginx/webroot"; web-root = "/var/nginx/webroot";
in in {
{
systemd.timers."nx_cal_publish" = { systemd.timers."nx_cal_publish" = {
enable = true; enable = true;
wantedBy = [ "timers.target" ]; wantedBy = [ "timers.target" ];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
services.greetd = { services.greetd = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

12
system-modules/editor.nix Normal file
View File

@@ -0,0 +1,12 @@
{ pkgs, ... }: {
environment = {
variables = {
EDITOR = "hx";
VISUAL = "hx";
};
systemPackages = with pkgs; [
helix
vim
];
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
# i18n.inputMethod = { # i18n.inputMethod = {
# type = "fcitx5"; # type = "fcitx5";

View File

@@ -1,4 +1,4 @@
{ pkgs, rice, ... }: { pkgs, ... }@all: with all;
{ {
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
noto-fonts noto-fonts

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ...}: { pkgs, ... }@all: with all;
{ {
environment = { environment = {

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host == "NxNORTH" || hyper.host == "NxACE") lib.mkIf (hyper.host == "NxNORTH" || hyper.host == "NxACE")
{ {
programs = { programs = {
steam = { steam = {

View File

@@ -1,7 +1,8 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
gnupg gnupg
gpg-tui
]; ];
programs.gnupg = { programs.gnupg = {

7
system-modules/gui.nix Normal file
View File

@@ -0,0 +1,7 @@
{ ... }: {
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
services.xserver.enable = true;
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, modulesPath, ... }: { pkgs, ... }@all: with all;
{ {
imports = [ imports = [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
@@ -29,19 +29,19 @@
{ device = "/dev/disk/by-label/swap"; } { device = "/dev/disk/by-label/swap"; }
]; ];
networking.useDHCP = pkgs.lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
hardware.cpu.intel.updateMicrocode = pkgs.lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
# from nixos-hardware # from nixos-hardware
services.thermald.enable = pkgs.lib.mkDefault true; services.thermald.enable = lib.mkDefault true;
boot.extraModprobeConfig = if hyper.host == "NxXPS" then '' boot.extraModprobeConfig = if hyper.host == "NxXPS" then ''
options iwlwifi 11n_disable=8 options iwlwifi 11n_disable=8
'' else ""; '' else "";
boot.initrd.kernelModules = if hyper.host == "NxXPS" then [ "i915" ] else []; boot.initrd.kernelModules = if hyper.host == "NxXPS" then [ "i915" ] else [];
environment.variables = if hyper.host == "NxXPS" then { environment.variables = if hyper.host == "NxXPS" then {
VDPAU_DRIVER = pkgs.lib.mkIf config.hardware.graphics.enable (pkgs.lib.mkDefault "va_gl"); VDPAU_DRIVER = lib.mkIf config.hardware.graphics.enable (lib.mkDefault "va_gl");
} else {}; } else {};
hardware.graphics.extraPackages = if hyper.host == "NxXPS" then with pkgs; [ hardware.graphics.extraPackages = if hyper.host == "NxXPS" then with pkgs; [

View File

@@ -1,5 +1,5 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf (hyper.host != "NxACE") lib.mkIf (hyper.host != "NxACE")
{ {
systemd.timers."health_reminder" = { systemd.timers."health_reminder" = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, lib, host, secrets, ... }: { pkgs, ... }@all: with all;
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
strongswanNM strongswanNM

View File

@@ -1,9 +1,8 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
let p = pkgs; in let p = pkgs; in
{ {
environment.systemPackages = with p; [ environment.systemPackages = with p; [
hugo hugo
dart-sass
]; ];
users = { users = {

11
system-modules/input.nix Normal file
View File

@@ -0,0 +1,11 @@
{ ... }: {
services = {
xserver.xkb = {
layout = "de";
options = "eurosign:e,caps:escape";
};
libinput.enable = true;
};
hardware.uinput.enable = true;
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
services.kanata = { services.kanata = {
enable = true; enable = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, lib, host, ... }: { pkgs, ... }@all: with all;
lib.mkIf (host == "NxACE") lib.mkIf (host == "NxACE")
{} {}
# { # {

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, secrets, ... }: { pkgs, ... }@all: with all;
{ {
# sops.secrets = { # sops.secrets = {
# "wireless-networking.env" = {}; # "wireless-networking.env" = {};

View File

@@ -1,5 +1,5 @@
{ config, pkgs, hyper, ... }: { pkgs, ... }@all: with all;
pkgs.lib.mkIf hyper.nvidia.enable lib.mkIf hyper.nvidia.enable
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
lshw lshw
@@ -21,7 +21,7 @@ pkgs.lib.mkIf hyper.nvidia.enable
hardware = { hardware = {
nvidia = { nvidia = {
prime = pkgs.lib.mkIf hyper.nvidia.prime { prime = lib.mkIf hyper.nvidia.prime {
intelBusId = "PCI:0:2:0"; intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0"; nvidiaBusId = "PCI:1:0:0";
offload = { offload = {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, secrets, ... }: { pkgs, ... }@all: with all;
let dns-user = "cloudflare"; in let dns-user = "cloudflare"; in
{ {
sops.secrets = { sops.secrets = {

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, ... }@all: with all;
{ {
services = { services = {
audiobookshelf = { audiobookshelf = {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
sops.secrets = { sops.secrets = {
# "nx2site/namecheap.pw" = { }; # "nx2site/namecheap.pw" = { };

View File

@@ -1,4 +1,4 @@
{ config, pkgs, hyper, secrets, ... }: { pkgs, ... }@all: with all;
let git-user = "git"; in let git-user = "git"; in
{ {
sops.secrets = { sops.secrets = {

View File

@@ -1,4 +1,4 @@
{ config, hyper, ... }: { pkgs, ...}@all: with all;
{ {
sops.secrets = { sops.secrets = {
"nx2site/nextcloud/admin-pass" = { owner = "nextcloud"; }; "nx2site/nextcloud/admin-pass" = { owner = "nextcloud"; };
@@ -9,6 +9,7 @@
services = { services = {
nextcloud = { nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud;
hostName = "nc.${hyper.domain}"; hostName = "nc.${hyper.domain}";
https = true; https = true;
configureRedis = true; configureRedis = true;

View File

@@ -1,4 +1,4 @@
{ pkgs, hyper, ... }: { pkgs, ... }@all: with all;
{ {
services = { services = {
open-web-calendar = { open-web-calendar = {

Some files were not shown because too many files have changed in this diff Show More