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 }