because apparently i need a git repo

fuck off disko

+1 -1
capabilities/bluetooth.nix
··· 1 1 { config, lib, pkgs, ... }: 2 2 { 3 - # bluetooth stuff 3 + # bluetooth stuff 4 4 hardware.bluetooth = { 5 5 enable = true; 6 6 powerOnBoot = true;
+1
common/default.nix
··· 1 + { ... }:{ imports = [ ./options.nix ./config.nix ]; }
+3 -1
common/options.nix
··· 1 1 { config, lib, pkgs, ... }: 2 2 { 3 - options.isWorkstation = lib.mkEnableOption "basically enables home-manager"; 3 + options = { 4 + isWorkstation = lib.mkEnableOption "basically enables home-manager"; 5 + }; 4 6 }
-37
common/partitioning.nix
··· 1 - # common/standard/idk partitioning using disko. 2 - # more or less adapted from yaoi's generated hardware config. 3 - { config, lib, pkgs, ... }: 4 - { 5 - disko.devices.disk.main = { 6 - # device is intentionally not specified here. 7 - type = "disk"; 8 - content = { 9 - type = "gpt"; 10 - partitions = { 11 - ESP = { 12 - end = "500M"; 13 - type = "EF00"; 14 - content = { 15 - type = "filesystem"; 16 - format = "vfat"; 17 - mountpoint = "/boot"; 18 - }; 19 - }; 20 - root = { 21 - size = "100%"; 22 - content = { 23 - type = "btrfs"; 24 - subvolumes = { 25 - "/root".mountpoint = "/"; 26 - "/home".mountpoint = "/home"; 27 - "/nix" = { 28 - mountpoint = "/nix"; 29 - mountOptions = [ "compress=zstd" "noatime" ]; 30 - }; 31 - }; 32 - }; 33 - }; 34 - }; 35 - }; 36 - }; 37 - }
+27 -15
flake.lock
··· 2 2 "nodes": { 3 3 "disko": { 4 4 "inputs": { 5 - "nixpkgs": [ 6 - "nixpkgs" 7 - ] 5 + "nixpkgs": "nixpkgs" 8 6 }, 9 7 "locked": { 10 - "lastModified": 1746728054, 11 - "narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=", 8 + "lastModified": 1755519972, 9 + "narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=", 12 10 "owner": "nix-community", 13 11 "repo": "disko", 14 - "rev": "ff442f5d1425feb86344c028298548024f21256d", 12 + "rev": "4073ff2f481f9ef3501678ff479ed81402caae6d", 15 13 "type": "github" 16 14 }, 17 15 "original": { 18 - "owner": "nix-community", 19 - "ref": "latest", 20 - "repo": "disko", 21 - "type": "github" 16 + "id": "disko", 17 + "type": "indirect" 22 18 } 23 19 }, 24 20 "home-manager": { ··· 44 40 }, 45 41 "nixpkgs": { 46 42 "locked": { 47 - "lastModified": 1755593991, 48 - "narHash": "sha256-BA9MuPjBDx/WnpTJ0EGhStyfE7hug8g85Y3Ju9oTsM4=", 43 + "lastModified": 1755736253, 44 + "narHash": "sha256-jlIQRypNhB1PcB1BE+expE4xZeJxzoAGr1iUbHQta8s=", 49 45 "owner": "NixOS", 50 46 "repo": "nixpkgs", 51 - "rev": "a58390ab6f1aa810eb8e0f0fc74230e7cc06de03", 47 + "rev": "596312aae91421d6923f18cecce934a7d3bfd6b8", 52 48 "type": "github" 53 49 }, 54 50 "original": { 55 51 "owner": "NixOS", 56 - "ref": "nixos-25.05", 52 + "ref": "nixpkgs-unstable", 57 53 "repo": "nixpkgs", 58 54 "type": "github" 59 55 } ··· 74 70 "type": "github" 75 71 } 76 72 }, 73 + "nixpkgs_2": { 74 + "locked": { 75 + "lastModified": 1755593991, 76 + "narHash": "sha256-BA9MuPjBDx/WnpTJ0EGhStyfE7hug8g85Y3Ju9oTsM4=", 77 + "owner": "NixOS", 78 + "repo": "nixpkgs", 79 + "rev": "a58390ab6f1aa810eb8e0f0fc74230e7cc06de03", 80 + "type": "github" 81 + }, 82 + "original": { 83 + "owner": "NixOS", 84 + "ref": "nixos-25.05", 85 + "repo": "nixpkgs", 86 + "type": "github" 87 + } 88 + }, 77 89 "root": { 78 90 "inputs": { 79 91 "disko": "disko", 80 92 "home-manager": "home-manager", 81 - "nixpkgs": "nixpkgs", 93 + "nixpkgs": "nixpkgs_2", 82 94 "nixpkgs-unstable": "nixpkgs-unstable" 83 95 } 84 96 }
+2 -8
flake.nix
··· 6 6 url = "github:nix-community/home-manager/release-25.05"; 7 7 inputs.nixpkgs.follows = "nixpkgs"; 8 8 }; 9 - disko = { 10 - url = "github:nix-community/disko/latest"; 11 - inputs.nixpkgs.follows = "nixpkgs"; 12 - }; 13 9 }; 14 10 outputs = { nixpkgs, nixpkgs-unstable, home-manager, disko, ... }@inputs: 15 11 let ··· 23 19 system = "x86_64-linux"; 24 20 modules = [ 25 21 home-manager.nixosModules.home-manager 26 - ./common/config.nix 22 + ./common 27 23 ./workstation.nix 28 24 ./capabilities/bluetooth.nix 29 25 ··· 41 37 system = "x86_64-linux"; 42 38 modules = [ 43 39 home-manager.nixosModules.home-manager 44 - disko.nixosModules.disko 45 - ./common/config.nix 46 - ./common/partitioning.nix 40 + ./common 47 41 ./workstation.nix 48 42 ./capabilities/bluetooth.nix 49 43 ./hosts/yuri.nix
+2 -2
hosts/yuri.nix
··· 1 1 { config, lib, pkgs, ... }: 2 2 { 3 3 networking.hostName = "yuri"; 4 - disko.devices.disk.main.device = "/dev/nvme0n1"; 5 - 6 4 7 5 # wifi please work 8 6 boot.kernelPackages = pkgs.linuxPackages_latest; ··· 18 16 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 19 17 hardware.enableRedistributableFirmware = true; 20 18 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 19 + fileSystems."/".device = "/dev/disk/by-label/ROOT"; 20 + fileSystems."/boot".device = "/dev/disk/by-label/BOOT"; 21 21 }
+6 -6
nonfree/_allow.nix
··· 2 2 { config, lib, ... }: 3 3 4 4 let 5 - inherit (builtins) elem; 6 - inherit (lib) getName mkOption; 7 - inherit (lib.types) listOf str; 5 + inherit (builtins) elem; 6 + inherit (lib) getName mkOption; 7 + inherit (lib.types) listOf str; 8 8 in 9 9 { 10 - # Pending https://github.com/NixOS/nixpkgs/issues/55674 11 - options.allowedNonfree = mkOption { type = listOf str; default = [ ]; }; 12 - config.nixpkgs.config.allowUnfreePredicate = p: elem (getName p) config.allowedNonfree; 10 + # Pending https://github.com/NixOS/nixpkgs/issues/55674 11 + options.allowedNonfree = mkOption { type = listOf str; default = [ ]; }; 12 + config.nixpkgs.config.allowUnfreePredicate = p: elem (getName p) config.allowedNonfree; 13 13 }
+3 -3
workstation.nix
··· 62 62 useUserPackages = true; 63 63 }; 64 64 swapDevices = [{ 65 - device = "/var/lib/swapfile"; 66 - size = 8*1024; # 8 GB 67 - }]; 65 + device = "/var/lib/swapfile"; 66 + size = 8*1024; # 8 GB 67 + }]; 68 68 }