This commit is contained in:
alsaiduq-lab 2026-01-02 22:29:49 -07:00
parent 42aeaf54c8
commit cb9632b258
5 changed files with 117 additions and 28 deletions

58
flake.lock generated
View file

@ -64,11 +64,11 @@
"quickshell": "quickshell" "quickshell": "quickshell"
}, },
"locked": { "locked": {
"lastModified": 1767325825, "lastModified": 1767411397,
"narHash": "sha256-DVQByhV9jLS8Zn2HsYdHMoaH2h+XP90NEVk2f6vhgGg=", "narHash": "sha256-L+ua2DR5q1a3aT0TG9n3mCfSpa/WUkxamZOcteGq9+Y=",
"owner": "AvengeMedia", "owner": "AvengeMedia",
"repo": "DankMaterialShell", "repo": "DankMaterialShell",
"rev": "5e111d89a5e8a3aa473bedde642af63a756a96f2", "rev": "e1817027b1aafee74fd7d38ef109c932cb6758de",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -274,15 +274,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767104570, "lastModified": 1767280655,
"narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", "narHash": "sha256-YmaYMduV5ko8zURUT1VLGDbVC1L/bxHS0NsiPoZ6bBM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", "rev": "d49d2543f02dbd789ed032188c84570d929223cb",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -380,11 +381,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1767300597, "lastModified": 1767381047,
"narHash": "sha256-kr8ThYlgv/cvwbYnqy/EAoYtAi3W5XMlmrXtF1YnUmo=", "narHash": "sha256-mQTek8IQ9uxaRxEI16iRtKkJ+RVq1QWHpleS5ICy+lc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "31d3181e1ee91e338fb4fb8207d64b8d689310fc", "rev": "ee67278038b5b6597172b2a3ee9d57f6ad0eafc7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -664,11 +665,11 @@
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
}, },
"locked": { "locked": {
"lastModified": 1767319620, "lastModified": 1767405595,
"narHash": "sha256-salrbdHzVTRpgnASAJMX61kuqrg65KiuQ2yxkrVcB8Y=", "narHash": "sha256-FTXYiEk7n7H4dz1w1ERIFeNUMiJOpQVnYsv0rVGA0cE=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "f39d1b692c466255e7f5b2fa8ac5b8aead5eadb5", "rev": "c7c279000ebcca7a02d74494c03804befcd8ba64",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -677,6 +678,26 @@
"type": "github" "type": "github"
} }
}, },
"nix-index-database": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1765267181,
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-index-database",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1744536153, "lastModified": 1744536153,
@ -803,11 +824,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1767047869, "lastModified": 1767325753,
"narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=", "narHash": "sha256-yA/CuWyqm+AQo2ivGy6PlYrjZBQm7jfbe461+4HF2fo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a", "rev": "64049ca74d63e971b627b5f3178d95642e61cedd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -965,6 +986,7 @@
"hyprland-dots": "hyprland-dots", "hyprland-dots": "hyprland-dots",
"linux-desktop-gremlin": "linux-desktop-gremlin", "linux-desktop-gremlin": "linux-desktop-gremlin",
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_8",
"nvim-dots": "nvim-dots", "nvim-dots": "nvim-dots",
"pinix": "pinix", "pinix": "pinix",
@ -1038,11 +1060,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1767242400, "lastModified": 1767273430,
"narHash": "sha256-knFaYjeg7swqG1dljj1hOxfg39zrIy8pfGuicjm9s+o=", "narHash": "sha256-kDpoFwQ8GLrPiS3KL+sAwreXrph2KhdXuJzo5+vSLoo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c04833a1e584401bb63c1a63ddc51a71e6aa457a", "rev": "76eec3925eb9bbe193934987d3285473dbcfad50",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,7 +5,7 @@
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@ -72,6 +72,12 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# vps OOMs when trying to nix-index with 8 GB of ram
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
# TODO: sops-nix = { # TODO: sops-nix = {
# url = "github:Mic92/sops-nix"; # url = "github:Mic92/sops-nix";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
@ -93,6 +99,7 @@
dankMaterialShell, dankMaterialShell,
pinix, pinix,
disko, disko,
nix-index-database,
aagl, aagl,
#sops-nix, #sops-nix,
... ...
@ -175,7 +182,7 @@
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs;
hyprlanddots = inputs.hyprland-dots; hyprlanddots = inputs.hyprland-dots;
nvimDotfiles = inputs.nvim-dots; nvimDots = inputs.nvim-dots;
dankMaterialShell = inputs.dankMaterialShell.packages.${system}.default; dankMaterialShell = inputs.dankMaterialShell.packages.${system}.default;
}; };
users.cobray = import ./home-manager/cobray.nix; users.cobray = import ./home-manager/cobray.nix;
@ -190,6 +197,7 @@
}; };
modules = [ modules = [
disko.nixosModules.disko disko.nixosModules.disko
nix-index-database.nixosModules.nix-index
{ {
nixpkgs = { nixpkgs = {
config = { config = {
@ -199,7 +207,6 @@
hostPlatform = system; hostPlatform = system;
overlays = [ overlays = [
(final: prev: { (final: prev: {
pinix = inputs.pinix.packages.${system}.default;
inherit inherit
(customPkgs) (customPkgs)
minijinja-cli minijinja-cli
@ -220,8 +227,10 @@
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs;
nvimDotfiles = inputs.nvim-dots; nvimDots = inputs.nvim-dots;
hyprlanddots = inputs.hyprland-dots;
}; };
users.alteur = import ./home-manager/alteur.nix;
}; };
} }
]; ];

50
home-manager/alteur.nix Normal file
View file

@ -0,0 +1,50 @@
{
config,
lib,
pkgs,
nvimDots,
hyprlanddots,
...
}: {
imports = [
./modules/fish.nix
./modules/lazygit.nix
./modules/nvim.nix
./modules/starship.nix
./modules/zellij.nix
];
home = {
username = "alteur";
homeDirectory = "/home/alteur";
stateVersion = "25.11";
activation.ServerInit = lib.hm.dag.entryAfter ["linkGeneration"] ''
set -euo pipefail
umask 022
repo=${lib.escapeShellArg hyprlanddots}
nvimrepo=${lib.escapeShellArg nvimDots}
mkdir -p "${config.xdg.configHome}"
copy_dir() {
src="$1"; dest="$2"; skip="''${3:-true}"
[ -d "$src" ] || return 0
[ "$skip" = "true" ] && [ -e "$dest" ] && return 0
mkdir -p "$dest"
if [ -x ${pkgs.rsync}/bin/rsync ]; then
${pkgs.rsync}/bin/rsync -rlD \
--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
-- "$src"/ "$dest"/
else
cp -R -P --no-preserve=mode,ownership,timestamps -- "$src"/. "$dest"/
fi
chmod -R u+rwX "$dest"
}
copy_dir "$repo/fish" "${config.xdg.configHome}/fish"
copy_dir "$nvimrepo" "${config.xdg.configHome}/nvim"
if [ -f "$repo/starship.toml" ] && [ ! -e "${config.xdg.configHome}/starship.toml" ]; then
install -Dm0644 "$repo/starship.toml" "${config.xdg.configHome}/starship.toml"
fi
'';
};
programs.home-manager.enable = true;
#home.packages = with pkgs; [
#];
}

View file

@ -18,6 +18,11 @@
./modules/npm.nix ./modules/npm.nix
./modules/nixos.nix ./modules/nixos.nix
./modules/appimage.nix ./modules/appimage.nix
./modules/tailscale.nix
./modules/rust.nix
./modules/python.nix
./modules/go.nix
./modules/ld.nix
]; ];
system.stateVersion = "25.11"; system.stateVersion = "25.11";
@ -26,13 +31,12 @@
efiSupport = false; efiSupport = false;
}; };
programs.fish.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git busybox
btop xclip
ffmpeg direnv
yt-dlp
fastfetch
zellij
]; ];
nix = { nix = {
gc = { gc = {

View file

@ -10,12 +10,16 @@
PermitRootLogin = "prohibit-password"; PermitRootLogin = "prohibit-password";
PasswordAuthentication = false; PasswordAuthentication = false;
}; };
extraConfig = ''
StreamLocalBindUnlink yes
'';
}; };
users.users.root.openssh.authorizedKeys.keys = [ users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK29z1CTXF77ykGyklPM8X3SxeMYM7zHyoIDGi2C9/HU riiidge.racer@gmail.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK29z1CTXF77ykGyklPM8X3SxeMYM7zHyoIDGi2C9/HU riiidge.racer@gmail.com"
]; ];
users.users.alteur = { users.users.alteur = {
isNormalUser = true; isNormalUser = true;
shell = pkgs.fish;
extraGroups = ["wheel" "docker"]; extraGroups = ["wheel" "docker"];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK29z1CTXF77ykGyklPM8X3SxeMYM7zHyoIDGi2C9/HU riiidge.racer@gmail.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK29z1CTXF77ykGyklPM8X3SxeMYM7zHyoIDGi2C9/HU riiidge.racer@gmail.com"