{ description = "A Flake lol"; inputs = { nixpkgs.url = "nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; # url = "github:hyprwm/Hyprland"; # inputs.nixpkgs.follows = "nixpkgs"; }; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; # Hyprspace = { # url = "github:KZDKM/Hyprspace"; # inputs.hyprland.follows = "hyprland"; # }; # nixvim = { # url = "github:nix-community/nixvim/nixos-23.11"; # inputs.nixpkgs.follows = "nixpkgs"; # }; lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; # inputs.nixpkgs.follows = "nixpkgs-unstable"; }; #arion = { # url = "github:hercules-ci/arion"; # inputs.nixpkgs.follows = "nixpkgs"; #}; }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; user = "nx2"; nvidia = rec { enable = true; prime = true; # unfree = if enable then [ unfree = [ "nvidia-x11" "nvidia-settings" "nvidia-persistenced" "cudatoolkit" "cudatoolkit-11.8.0" "cudatoolkit-12.2.2" ]; # ] else []; }; allowed = { unfree-packages = [ "spotify" "cudatoolkit-12.2.2" "discord" "obsidian" "zoom-us" "zoom" "vscode-extension-MS-python-vscode-pylance" ] ++ nvidia.unfree; inecure-packages = [ "electron-25.9.0" ]; }; secrets = import ./secrets/passwords-and-certificates.nix; rice = rec { lib = import ./nxlib/ricelib.nix { lib = nixpkgs.lib; }; transparency = 0.9; rounding = 10; gap-size = 10; border-width = 3; color = let dark = (-0.3); bright = (0.5); alter = let f = rice.lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; }; ccolor = builtins.mapAttrs alter { black = "#111111"; white = "#dddddd"; blue = "#1111dd"; cyan = "#11dddd"; green = "#11dd11"; magenta = "#dd11dd"; red = "#dd1111"; yellow = "#dddd11"; }; xcolor = with ccolor; { background = black.dark; foreground = white.base; border = red.base; border2 = blue.base; accent = magenta.base; tertiary = blue.base; }; in ccolor // xcolor; font = { code = { name = "JetBrainsMono-NF"; name2 = "JetBrainsMono Nerd Font"; package = (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }); # name = "CascadiaCove-NF"; # package = (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; }); }; base = { name = "Atkinson Hyperlegible"; package = pkgs.atkinson-hyperlegible; }; }; }; in { nixosConfigurations = { NxXPS = let host = "NxXPS"; in nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration.nix ]; specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; }; }; NxNORTH = let host = "NxNORTH"; in nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration.nix ]; specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; }; }; NxACE = let host = "NxACE"; nvidia.enable = false; in nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration.nix ]; specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; }; }; }; homeConfigurations = { "${user}@NxXPS" = let host = "NxXPS"; in home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; }; "${user}@NxNORTH" = let host = "NxNORTH"; in home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; }; "${user}@NxACE" = let host = "NxACE"; nvidia.enable = false; in home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; }; "tv@NxACE" = let host = "NxACE"; user = "tv"; nvidia.enable = pkgs.kib.mkForce false; in home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix ]; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; }; }; }; }