tangled
alpha
login
or
join now
demsem.dev
/
nixos-config
0
fork
atom
My entire NixOS config or something!
0
fork
atom
overview
issues
pulls
pipelines
You are the youngest flake ever!
Demetrius Semanko
3 months ago
5486b202
3be0be8b
+165
2 changed files
expand all
collapse all
unified
split
configuration.nix
hardware-configuration.nix
+125
configuration.nix
···
1
1
+
# Edit this configuration file to define what should be installed on
2
2
+
# your system. Help is available in the configuration.nix(5) man page
3
3
+
# and in the NixOS manual (accessible by running ‘nixos-help’).
4
4
+
5
5
+
{ config, pkgs, ... }:
6
6
+
7
7
+
{
8
8
+
imports =
9
9
+
[ # Include the results of the hardware scan.
10
10
+
./hardware-configuration.nix
11
11
+
];
12
12
+
13
13
+
# Bootloader.
14
14
+
boot.loader.systemd-boot.enable = true;
15
15
+
boot.loader.efi.canTouchEfiVariables = true;
16
16
+
17
17
+
networking.hostName = "delphi"; # Define your hostname.
18
18
+
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
19
19
+
20
20
+
# Configure network proxy if necessary
21
21
+
# networking.proxy.default = "http://user:password@proxy:port/";
22
22
+
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
23
23
+
24
24
+
# Enable networking
25
25
+
networking.networkmanager.enable = true;
26
26
+
27
27
+
# Enabling nix CLI and flakes
28
28
+
nix.settings.experimental-features = [ "nix-command" "flakes" ];
29
29
+
30
30
+
# Set your time zone.
31
31
+
time.timeZone = "America/New_York";
32
32
+
33
33
+
# Select internationalisation properties.
34
34
+
i18n.defaultLocale = "en_US.UTF-8";
35
35
+
36
36
+
i18n.extraLocaleSettings = {
37
37
+
LC_ADDRESS = "en_US.UTF-8";
38
38
+
LC_IDENTIFICATION = "en_US.UTF-8";
39
39
+
LC_MEASUREMENT = "en_US.UTF-8";
40
40
+
LC_MONETARY = "en_US.UTF-8";
41
41
+
LC_NAME = "en_US.UTF-8";
42
42
+
LC_NUMERIC = "en_US.UTF-8";
43
43
+
LC_PAPER = "en_US.UTF-8";
44
44
+
LC_TELEPHONE = "en_US.UTF-8";
45
45
+
LC_TIME = "en_US.UTF-8";
46
46
+
};
47
47
+
48
48
+
# Configure keymap in X11
49
49
+
services.xserver.xkb = {
50
50
+
layout = "us";
51
51
+
variant = "";
52
52
+
};
53
53
+
services.xserver.enable = true;
54
54
+
services.libinput.enable = true;
55
55
+
services.desktopManager.plasma6.enable = true;
56
56
+
57
57
+
# Bluetooth
58
58
+
hardware.bluetooth.enable = true;
59
59
+
services.pulseaudio.enable = false;
60
60
+
security.rtkit.enable = true;
61
61
+
services.pipewire = {
62
62
+
enable = true;
63
63
+
pulse.enable = true;
64
64
+
alsa = {
65
65
+
enable = true;
66
66
+
support32Bit = true;
67
67
+
};
68
68
+
};
69
69
+
70
70
+
# Define a user account. Don't forget to set a password with ‘passwd’.
71
71
+
users.users.demsem = {
72
72
+
isNormalUser = true;
73
73
+
description = "Demetrius Semanko";
74
74
+
extraGroups = [ "networkmanager" "wheel" ];
75
75
+
packages = with pkgs; [];
76
76
+
};
77
77
+
78
78
+
# Allow unfree packages
79
79
+
nixpkgs.config.allowUnfree = true;
80
80
+
81
81
+
# List packages installed in system profile. To search, run:
82
82
+
# $ nix search wget
83
83
+
environment.systemPackages = with pkgs; [
84
84
+
git
85
85
+
vim
86
86
+
wget
87
87
+
firefox
88
88
+
python314
89
89
+
neovim
90
90
+
cargo
91
91
+
gh
92
92
+
wl-clipboard
93
93
+
ripgrep
94
94
+
vimPlugins.semshi
95
95
+
git-filter-repo
96
96
+
];
97
97
+
98
98
+
# Some programs need SUID wrappers, can be configured further or are
99
99
+
# started in user sessions.
100
100
+
# programs.mtr.enable = true;
101
101
+
# programs.gnupg.agent = {
102
102
+
# enable = true;
103
103
+
# enableSSHSupport = true;
104
104
+
# };
105
105
+
106
106
+
# List services that you want to enable:
107
107
+
108
108
+
# Enable the OpenSSH daemon.
109
109
+
# services.openssh.enable = true;
110
110
+
111
111
+
# Open ports in the firewall.
112
112
+
# networking.firewall.allowedTCPPorts = [ ... ];
113
113
+
# networking.firewall.allowedUDPPorts = [ ... ];
114
114
+
# Or disable the firewall altogether.
115
115
+
# networking.firewall.enable = false;
116
116
+
117
117
+
# This value determines the NixOS release from which the default
118
118
+
# settings for stateful data, like file locations and database versions
119
119
+
# on your system were taken. It‘s perfectly fine and recommended to leave
120
120
+
# this value at the release version of the first install of this system.
121
121
+
# Before changing this value read the documentation for this option
122
122
+
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
123
123
+
system.stateVersion = "25.05"; # Did you read the comment?
124
124
+
125
125
+
}
+40
hardware-configuration.nix
···
1
1
+
# Do not modify this file! It was generated by ‘nixos-generate-config’
2
2
+
# and may be overwritten by future invocations. Please make changes
3
3
+
# to /etc/nixos/configuration.nix instead.
4
4
+
{ config, lib, pkgs, modulesPath, ... }:
5
5
+
6
6
+
{
7
7
+
imports =
8
8
+
[ (modulesPath + "/installer/scan/not-detected.nix")
9
9
+
];
10
10
+
11
11
+
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
12
12
+
boot.initrd.kernelModules = [ ];
13
13
+
boot.kernelModules = [ "kvm-intel" ];
14
14
+
boot.extraModulePackages = [ ];
15
15
+
16
16
+
fileSystems."/" =
17
17
+
{ device = "/dev/disk/by-uuid/ff8b878b-3723-40b7-9161-61886b18e55a";
18
18
+
fsType = "ext4";
19
19
+
};
20
20
+
21
21
+
fileSystems."/boot" =
22
22
+
{ device = "/dev/disk/by-uuid/1C48-AA0E";
23
23
+
fsType = "vfat";
24
24
+
options = [ "fmask=0077" "dmask=0077" ];
25
25
+
};
26
26
+
27
27
+
swapDevices =
28
28
+
[ { device = "/dev/disk/by-uuid/481a9bb9-945a-462a-9fc6-2e2bb5263320"; }
29
29
+
];
30
30
+
31
31
+
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
32
32
+
# (the default) this is the recommended approach. When using systemd-networkd it's
33
33
+
# still possible to use this option, but it's recommended to use it in conjunction
34
34
+
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
35
35
+
networking.useDHCP = lib.mkDefault true;
36
36
+
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
37
37
+
38
38
+
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
39
39
+
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
40
40
+
}