My dotfiles (written in Nix, btw!) ❄
at main 127 lines 3.5 kB view raw
1{ 2 description = "Folo's Flake"; 3 4 inputs = { 5 nixpkgs.url = "nixpkgs/nixos-unstable"; 6 nixpkgs-stable.url = "nixpkgs/nixos-25.05"; # used for when something keeps BUILDING 7 nixpkgs-master.url = "nixpkgs/master"; # used for immediate fixes 8 home-manager = { 9 url = "github:nix-community/home-manager"; 10 inputs.nixpkgs.follows = "nixpkgs"; 11 }; 12 stylix = { 13 url = "github:nix-community/stylix"; 14 inputs.nixpkgs.follows = "nixpkgs"; 15 }; 16 nix-flatpak.url = "github:gmodena/nix-flatpak"; 17 spicetify-nix = { 18 url = "github:Gerg-L/spicetify-nix"; 19 inputs.nixpkgs.follows = "nixpkgs"; 20 }; 21 nvf = { 22 url = "github:NotAShelf/nvf"; 23 inputs.nixpkgs.follows = "nixpkgs"; 24 }; 25 cidbot = { 26 url = "git+ssh://git@github.com/folospior/cidbot-test-config"; 27 inputs.nixpkgs.follows = "nixpkgs"; 28 }; 29 nixvim = { 30 url = "github:nix-community/nixvim"; 31 inputs.nixpkgs.follows = "nixpkgs"; 32 }; 33 disko = { 34 url = "github:nix-community/disko"; 35 inputs.nixpkgs.follows = "nixpkgs"; 36 }; 37 }; 38 39 outputs = { 40 self, 41 nixpkgs, 42 nixpkgs-stable, 43 nixpkgs-master, 44 stylix, 45 home-manager, 46 nix-flatpak, 47 spicetify-nix, 48 nvf, 49 cidbot, 50 nixvim, 51 disko, 52 ... 53 } @ inputs: let 54 system = "x86_64-linux"; 55 pkgs = import nixpkgs {inherit system;}; 56 pkgsStable = import nixpkgs-stable {inherit system;}; 57 pkgsMaster = import nixpkgs-master {inherit system;}; 58 lib = nixpkgs.lib; 59 spicetifyPkgs = spicetify-nix.legacyPackages.${system}; 60 61 systemSettings = { 62 inherit system; 63 hostname = "Folo-Nix"; 64 language = "en_US.UTF-8"; 65 country = "pl_PL.UTF-8"; 66 kbLayout = "pl"; 67 timezone = "Europe/Warsaw"; 68 videoDrivers = ["nvidia"]; 69 displayManager = "greetd"; # one of sddm, greetd, none 70 iGPUBusId = "PCI:0:2:0"; 71 dGPUBusId = "PCI:1:0:0"; 72 desktop = "hyprland"; # one of plasma, hyprland, none 73 }; 74 userSettings = { 75 username = "folo"; 76 fullName = "Filip Hoffmann"; 77 email = "folosp@protonmail.com"; 78 groups = ["wireshark" "networkmanager" "wheel"]; 79 browser = "firefox"; # one of firefox, none 80 terminal = "kitty"; # one of alacritty, kitty, ghostty, none 81 }; 82 in { 83 nixosConfigurations = { 84 ${systemSettings.hostname} = lib.nixosSystem { 85 inherit system; 86 87 specialArgs = { 88 inherit inputs; 89 inherit pkgsStable; 90 inherit pkgsMaster; 91 inherit systemSettings; 92 inherit userSettings; 93 }; 94 95 modules = [ 96 nix-flatpak.nixosModules.nix-flatpak 97 stylix.nixosModules.stylix 98 disko.nixosModules.disko 99 ./system/configuration.nix 100 ]; 101 }; 102 }; 103 104 homeConfigurations = { 105 ${userSettings.username} = home-manager.lib.homeManagerConfiguration { 106 inherit pkgs; 107 extraSpecialArgs = { 108 inherit self; 109 inherit inputs; 110 inherit pkgsStable; 111 inherit pkgsMaster; 112 inherit systemSettings; 113 inherit userSettings; 114 inherit spicetifyPkgs; 115 }; 116 modules = [ 117 nvf.homeManagerModules.default 118 cidbot.homeManagerModules.default 119 spicetify-nix.homeManagerModules.default 120 nixvim.homeManagerModules.nixvim 121 stylix.homeModules.stylix 122 ./user/home.nix 123 ]; 124 }; 125 }; 126 }; 127}