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, on
3# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
4{
5 pkgs,
6 ...
7}:
8{
9 imports = [
10 ./hardware-configuration.nix
11 ];
12
13 boot.loader.efi.canTouchEfiVariables = true;
14
15 networking.hostName = "cattop";
16 # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
17
18 services.xserver.enable = true;
19
20 services.displayManager.gdm.enable = true;
21 services.desktopManager.gnome.enable = true;
22 environment.gnome.excludePackages = (
23 with pkgs;
24 [
25 adwaita-fonts
26 adwaita-icon-theme
27 baobab
28 decibels
29 epiphany
30 evince
31 file-roller
32 geary
33 gnome-backgrounds
34 gnome-calculator
35 gnome-calendar
36 gnome-characters
37 gnome-clocks
38 gnome-connections
39 gnome-console
40 gnome-contacts
41 gnome-disk-utility
42 gnome-font-viewer
43 gnome-logs
44 gnome-maps
45 gnome-music
46 gnome-shell-extensions
47 gnome-system-monitor
48 gnome-screenshot
49 gnome-text-editor
50 gnome-themes-extra
51 gnome-tour
52 gnome-user-docs
53 gnome-weather
54 loupe
55 nautilus
56 orca
57 seahorse
58 simple-scan
59 snapshot
60 sushi
61 totem
62 yelp
63 ]
64 );
65
66 services.printing.enable = true;
67
68 # Enable sound.
69 services.pulseaudio.enable = false;
70 security.rtkit.enable = true;
71 services.pipewire = {
72 enable = true;
73 alsa.enable = true;
74 alsa.support32Bit = true;
75 pulse.enable = true;
76 };
77
78 # Enable touchpad support (enabled default in most desktopManager).
79 # services.libinput.enable = true;
80
81 users.users.fish = {
82 isNormalUser = true;
83 extraGroups = [
84 "wheel"
85 "dialout"
86 "audio"
87 ];
88 packages = with pkgs; [
89 tree
90 git
91 nh
92 vim
93 ];
94 };
95 programs.git = {
96 enable = true;
97 # extraConfig = {
98 # push = {
99 # autoSetupRemote = true;
100 # };
101 # };
102 };
103
104 programs.firefox.enable = true;
105 programs.neovim.enable = true;
106 #programs.neovim.defaultEditor.enable = true;
107
108 # List packages installed in system profile.
109 environment.systemPackages = with pkgs; [
110 vim
111 wget
112 ];
113
114 programs.mtr.enable = true;
115 programs.gnupg.agent = {
116 enable = true;
117 enableSSHSupport = true;
118 };
119
120 # List services that you want to enable:
121
122 # Enable the OpenSSH daemon.
123 # services.openssh.enable = true;
124
125 # Copy the NixOS configuration file and link it from the resulting system
126 # (/run/current-system/configuration.nix). This is useful in case you
127 # accidentally delete configuration.nix.
128 # system.copySystemConfiguration = true;
129
130 # This option defines the first version of NixOS you have installed on this particular machine,
131 # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
132 #
133 # Most users should NEVER change this value after the initial install, for any reason,
134 # even if you've upgraded your system to a new NixOS release.
135 #
136 # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
137 # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
138 # to actually do that.
139 #
140 # This value being lower than the current NixOS release does NOT mean your system is
141 # out of date, out of support, or vulnerable.
142 #
143 # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
144 # and migrated your data accordingly.
145 #
146 # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
147 system.stateVersion = "25.05"; # Did you read the comment?
148}