My NixOS configuration (WORK IN PROGRESS; probably unusable)
nix nixos config
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

minimal niri config complete

+17 -151
-41
home.nix
··· 1 - { 2 - config, 3 - pkgs, 4 - ... 5 - }: 6 - { 7 - home.username = "jordan"; 8 - home.homeDirectory = "/home/jordan"; 9 - 10 - home.packages = with pkgs; [ 11 - thunderbird 12 - ghostty 13 - helix 14 - nixd 15 - nil 16 - fastfetch 17 - swaybg 18 - ]; 19 - 20 - programs.niri = { 21 - enable = true; 22 - }; 23 - 24 - programs.alacritty.enable = true; 25 - programs.fuzzel.enable = true; 26 - programs.swaylock.enable = true; 27 - programs.waybar.enable = true; 28 - services.mako.enable = true; 29 - services.swayidle.enable = true; 30 - services.polkit-gnome.enable = true; 31 - 32 - programs.firefox.enable = true; 33 - 34 - programs.git = { 35 - enable = true; 36 - userName = "Jordan Reger"; 37 - userEmail = "jordan@reger.co"; 38 - }; 39 - 40 - home.stateVersion = "25.05"; 41 - }
-106
hosts/mini/configuration.nix
··· 1 - { config, pkgs, ... }: 2 - 3 - { 4 - imports = [ 5 - ./hardware-configuration.nix 6 - ]; 7 - 8 - boot.loader.systemd-boot.enable = true; 9 - boot.loader.efi.canTouchEfiVariables = true; 10 - 11 - networking.hostName = "mini"; 12 - 13 - networking.networkmanager.enable = true; 14 - 15 - time.timeZone = "America/New_York"; 16 - 17 - i18n.defaultLocale = "en_US.UTF-8"; 18 - 19 - i18n.extraLocaleSettings = { 20 - LC_ADDRESS = "en_US.UTF-8"; 21 - LC_IDENTIFICATION = "en_US.UTF-8"; 22 - LC_MEASUREMENT = "en_US.UTF-8"; 23 - LC_MONETARY = "en_US.UTF-8"; 24 - LC_NAME = "en_US.UTF-8"; 25 - LC_NUMERIC = "en_US.UTF-8"; 26 - LC_PAPER = "en_US.UTF-8"; 27 - LC_TELEPHONE = "en_US.UTF-8"; 28 - LC_TIME = "en_US.UTF-8"; 29 - }; 30 - 31 - services.xserver.xkb = { 32 - layout = "us"; 33 - variant = ""; 34 - }; 35 - 36 - services.printing.enable = true; 37 - 38 - services.pulseaudio.enable = false; 39 - security.rtkit.enable = true; 40 - services.pipewire = { 41 - enable = true; 42 - alsa.enable = true; 43 - alsa.support32Bit = true; 44 - pulse.enable = true; 45 - # If you want to use JACK applications, uncomment this 46 - #jack.enable = true; 47 - 48 - # use the example session manager (no others are packaged yet so this is enabled by default, 49 - # no need to redefine it in your config for now) 50 - #media-session.enable = true; 51 - }; 52 - 53 - users.users.jordan = { 54 - isNormalUser = true; 55 - description = "Jordan Reger"; 56 - extraGroups = [ "networkmanager" "wheel" ]; 57 - # packages = with pkgs; [ 58 - # thunderbird 59 - # ghostty 60 - # helix 61 - # nixd 62 - # nil 63 - # fastfetch 64 - # ]; 65 - }; 66 - 67 - # Install firefox. 68 - # programs.firefox.enable = true; 69 - 70 - # Allow unfree packages 71 - nixpkgs.config.allowUnfree = true; 72 - 73 - # List packages installed in system profile. To search, run: 74 - # $ nix search wget 75 - # environment.systemPackages = with pkgs; [ 76 - # wget 77 - # ]; 78 - 79 - # Some programs need SUID wrappers, can be configured further or are 80 - # started in user sessions. 81 - # programs.mtr.enable = true; 82 - # programs.gnupg.agent = { 83 - # enable = true; 84 - # enableSSHSupport = true; 85 - # }; 86 - 87 - # List services that you want to enable: 88 - 89 - # Enable the OpenSSH daemon. 90 - # services.openssh.enable = true; 91 - 92 - # Open ports in the firewall. 93 - # networking.firewall.allowedTCPPorts = [ ... ]; 94 - # networking.firewall.allowedUDPPorts = [ ... ]; 95 - # Or disable the firewall altogether. 96 - # networking.firewall.enable = false; 97 - 98 - # This value determines the NixOS release from which the default 99 - # settings for stateful data, like file locations and database versions 100 - # on your system were taken. It‘s perfectly fine and recommended to leave 101 - # this value at the release version of the first install of this system. 102 - # Before changing this value read the documentation for this option 103 - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 104 - system.stateVersion = "25.05"; # Did you read the comment? 105 - 106 - }
+1
hosts/mini/default.nix
··· 4 4 imports = [ 5 5 ./hardware-configuration.nix 6 6 ../../modules/nixos 7 + ../../modules/nixos/niri.nix 7 8 ]; 8 9 9 10 boot.loader.systemd-boot.enable = true;
+3 -2
modules/home/default.nix
··· 1 1 {pkgs, ...}: { 2 2 home = { 3 3 packages = with pkgs; [ 4 + firefox 4 5 file 5 6 tree 6 7 which 7 - zstd 8 8 nixd 9 9 nil 10 - btop 11 10 alacritty 11 + fuzzel 12 + mako 12 13 ]; 13 14 stateVersion = "25.05"; 14 15 };
+11
modules/nixos/default.nix
··· 4 4 lib, 5 5 ... 6 6 }: { 7 + imports = [ 8 + ./overlays.nix 9 + ]; 10 + 11 + nix.settings = { 12 + experimental-features = [ 13 + "nix-command" 14 + "flakes" 15 + ]; 16 + }; 17 + 7 18 nix.gc = { 8 19 automatic = true; 9 20 dates = lib.mkDefault "weekly";
+2 -2
modules/nixos/niri.nix
··· 2 2 programs.niri = { 3 3 enable = true; 4 4 package = pkgs.niri; 5 - } 5 + }; 6 6 7 7 environment.systemPackages = with pkgs; [ 8 8 nautilus 9 - nautilus-nautilus-open-any-terminal 9 + nautilus-open-any-terminal 10 10 ]; 11 11 12 12 xdg.portal = {