Mercurial > nixos-old
comparison configuration.nix @ 0:6b272b83e13f default tip
initial import
| author | Yasuri <linuxoverwindows@charliesmp.net> |
|---|---|
| date | Sat, 05 Sep 2026 10:05:05 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:6b272b83e13f |
|---|---|
| 1 # Edit this configuration file to define what should be installed on | |
| 2 # your system. Help is available in the configuration.nix(5) man page | |
| 3 # and in the NixOS manual (accessible by running ‘nixos-help’). | |
| 4 | |
| 5 { config, lib, pkgs, ... }: | |
| 6 | |
| 7 { | |
| 8 imports = | |
| 9 [ # Include the results of the hardware scan. | |
| 10 ./hardware-configuration.nix | |
| 11 ./nvidia.nix | |
| 12 ]; | |
| 13 | |
| 14 # Bootloader. | |
| 15 boot.loader.systemd-boot.enable = true; | |
| 16 boot.loader.efi.canTouchEfiVariables = true; | |
| 17 boot.initrd.availableKernelModules = [ | |
| 18 "nvidia_drm" "nvidia_modeset" "nvidia" "nvidia_uvm" | |
| 19 ]; | |
| 20 boot.kernelModules = [ | |
| 21 "hidp" | |
| 22 ]; | |
| 23 # Use latest kernel. | |
| 24 boot.kernelPackages = pkgs.linuxPackages_latest; | |
| 25 | |
| 26 networking.hostName = "NixOSPC"; # Define your hostname. | |
| 27 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. | |
| 28 | |
| 29 # Configure network proxy if necessary | |
| 30 # networking.proxy.default = "http://user:password@proxy:port/"; | |
| 31 # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; | |
| 32 # Thing | |
| 33 services.keyd = { | |
| 34 enable = true; | |
| 35 }; | |
| 36 # SSHd | |
| 37 services.openssh = { | |
| 38 enable = true; | |
| 39 ports = [ 22 ]; | |
| 40 settings = { | |
| 41 PasswordAuthentication = true; | |
| 42 AllowUsers = null; # Allows all users by default. Can be [ "user1" "user2" ] | |
| 43 UseDns = true; | |
| 44 X11Forwarding = false; | |
| 45 PermitRootLogin = "prohibit-password"; # "yes", "without-password", "prohibit-password", "forced-commands-only", "no" | |
| 46 }; | |
| 47 }; | |
| 48 # Optional, but makes sure that when you type the make palm rejection work with keyd | |
| 49 # https://github.com/rvaiya/keyd/issues/723 | |
| 50 environment.etc."libinput/local-overrides.quirks".text = '' | |
| 51 [Serial Keyboards] | |
| 52 MatchUdevType=keyboard | |
| 53 MatchName=keyd virtual keyboard | |
| 54 AttrKeyboardIntegration=internal | |
| 55 ''; | |
| 56 | |
| 57 # Enable networking | |
| 58 networking.networkmanager.enable = true; | |
| 59 # Enable Flatpak support | |
| 60 services.flatpak.enable = true; | |
| 61 # Set your time zone. | |
| 62 time.timeZone = "America/Chicago"; | |
| 63 # Select internationalisation properties. | |
| 64 i18n.defaultLocale = "en_US.UTF-8"; | |
| 65 | |
| 66 i18n.extraLocaleSettings = { | |
| 67 LC_ADDRESS = "en_US.UTF-8"; | |
| 68 LC_IDENTIFICATION = "en_US.UTF-8"; | |
| 69 LC_MEASUREMENT = "en_US.UTF-8"; | |
| 70 LC_MONETARY = "en_US.UTF-8"; | |
| 71 LC_NAME = "en_US.UTF-8"; | |
| 72 LC_NUMERIC = "en_US.UTF-8"; | |
| 73 LC_PAPER = "en_US.UTF-8"; | |
| 74 LC_TELEPHONE = "en_US.UTF-8"; | |
| 75 LC_TIME = "en_US.UTF-8"; | |
| 76 }; | |
| 77 | |
| 78 # Enable the X11 windowing system. | |
| 79 services.xserver.enable = true; | |
| 80 # Enable the Cosmic desktop environment | |
| 81 services.desktopManager.cosmic.enable = true; | |
| 82 services.displayManager.cosmic-greeter.enable = true; | |
| 83 # Configure keymap in X11 | |
| 84 services.xserver.xkb = { | |
| 85 layout = "us"; | |
| 86 variant = ""; | |
| 87 }; | |
| 88 | |
| 89 # Disable CUPS because I don't print | |
| 90 # services.printing.enable = true; | |
| 91 | |
| 92 # Enable sound with pipewire. | |
| 93 services.pulseaudio.enable = false; | |
| 94 security.rtkit.enable = true; | |
| 95 services.pipewire = { | |
| 96 enable = true; | |
| 97 alsa.enable = true; | |
| 98 alsa.support32Bit = true; | |
| 99 pulse.enable = true; | |
| 100 # If you want to use JACK applications, uncomment this | |
| 101 #jack.enable = true; | |
| 102 | |
| 103 # use the example session manager (no others are packaged yet so this is enabled by default, | |
| 104 # no need to redefine it in your config for now) | |
| 105 #media-session.enable = true; | |
| 106 }; | |
| 107 | |
| 108 # Enable touchpad support (enabled default in most desktopManager). | |
| 109 # services.xserver.libinput.enable = true; | |
| 110 | |
| 111 # Define a user account. Don't forget to set a password with ‘passwd’. | |
| 112 users.users.user = { | |
| 113 isNormalUser = true; | |
| 114 description = "user"; | |
| 115 extraGroups = [ "networkmanager" "wheel" ]; | |
| 116 packages = with pkgs; [ | |
| 117 git | |
| 118 vesktop | |
| 119 vscodium | |
| 120 fish | |
| 121 fishPlugins.tide | |
| 122 fishPlugins.fzf | |
| 123 unzip | |
| 124 nerd-fonts.fira-code | |
| 125 prismlauncher | |
| 126 ]; | |
| 127 shell = pkgs.fish; | |
| 128 }; | |
| 129 # Install firefox. | |
| 130 programs.firefox.enable = true; | |
| 131 # Enable Fish. | |
| 132 programs.fish.enable = true; | |
| 133 # Enable Bluetooth support | |
| 134 hardware.bluetooth = { | |
| 135 enable = true; | |
| 136 powerOnBoot = true; | |
| 137 settings = { | |
| 138 General = { | |
| 139 # Shows battery charge of connected devices on supported | |
| 140 # Bluetooth adapters. Defaults to 'false'. | |
| 141 Experimental = true; | |
| 142 # When enabled other devices can connect faster to us, however | |
| 143 # the tradeoff is increased power consumption. Defaults to | |
| 144 # 'false'. | |
| 145 FastConnectable = true; | |
| 146 }; | |
| 147 Policy = { | |
| 148 # Enable all controllers when they are found. This includes | |
| 149 # adapters present on start as well as adapters that are plugged | |
| 150 # in later on. Defaults to 'true'. | |
| 151 AutoEnable = true; | |
| 152 }; | |
| 153 }; | |
| 154 }; | |
| 155 # Enable Blueman | |
| 156 services.blueman.enable = true; | |
| 157 # Allow unfree packages | |
| 158 nixpkgs.config.allowUnfree = true; | |
| 159 | |
| 160 # List packages installed in system profile. To search, run: | |
| 161 # $ nix search wget | |
| 162 environment.systemPackages = with pkgs; [ | |
| 163 # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. | |
| 164 # wget | |
| 165 fastfetch | |
| 166 kdePackages.discover | |
| 167 python3 | |
| 168 ]; | |
| 169 | |
| 170 # Some programs need SUID wrappers, can be configured further or are | |
| 171 # started in user sessions. | |
| 172 # programs.mtr.enable = true; | |
| 173 # programs.gnupg.agent = { | |
| 174 # enable = true; | |
| 175 # enableSSHSupport = true; | |
| 176 # }; | |
| 177 | |
| 178 # List services that you want to enable: | |
| 179 | |
| 180 # Enable the OpenSSH daemon. | |
| 181 # services.openssh.enable = true; | |
| 182 | |
| 183 # Open ports in the firewall. | |
| 184 # networking.firewall.allowedTCPPorts = [ ... ]; | |
| 185 # networking.firewall.allowedUDPPorts = [ ... ]; | |
| 186 # Or disable the firewall altogether. | |
| 187 # networking.firewall.enable = false; | |
| 188 | |
| 189 # This value determines the NixOS release from which the default | |
| 190 # settings for stateful data, like file locations and database versions | |
| 191 # on your system were taken. It‘s perfectly fine and recommended to leave | |
| 192 # this value at the release version of the first install of this system. | |
| 193 # Before changing this value read the documentation for this option | |
| 194 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). | |
| 195 system.stateVersion = "25.05"; # Did you read the comment? | |
| 196 | |
| 197 } |
