···22# environment.
33{ config, pkgs, lib, ... }:
44{
55- nix.settings.experimental-features = ["nix-command" "flakes"];
65 networking.networkmanager.enable = true;
7687 virtualisation = {
···1211 };
1312 };
14131414+ # this allows for rootless container runtimes to set resource limits. Still
1515+ # not using this yet because there are some kinks with rootless runtimes, but
1616+ # hopefully I will eventually.
1517 systemd.services."user@".serviceConfig.Delegate="cpu cpuset io memory pids";
16181719 systemd.packages = [(
···5658 services.xserver.xkb = {
5759 layout = "us";
5860 variant = "";
6161+ options = "ctrl:swapcaps,compose:ralt";
5962 };
6060-6363+ console.useXkbConfig = true;
6464+6165 # Enable CUPS to print documents.
6266 services.printing.enable = true;
6367···125129 rustup
126130 pkg-config
127131 passt
128128- # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
129129- # wget
132132+ # vim # Do not forget to add an editor to edit configuration.nix! The Nano
133133+ # editor is also installed by default. wget
130134 ];
131135 networking.nftables.enable = true;
132136 networking.firewall = {
···3232 tilt
3333 # # It is sometimes useful to fine-tune packages, for example, by applying
3434 # # overrides. You can do that directly here, just don't forget the
3535- # # parentheses. Maybe you want to install Nerd Fonts with a limited number of
3636- # # fonts?
3535+ # # parentheses. Maybe you want to install Nerd Fonts with a limited number
3636+ # # of fonts?
3737 # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
38383939 # # You can also create simple shell scripts directly inside your
···88 imports =
99 [ # Include the results of the hardware scan.
1010 ./hardware-configuration.nix
1111+ ../modules/zfs.nix
1112 ];
12131314 # Use the systemd-boot EFI boot loader.
1415 boot.loader.systemd-boot.enable = true;
1516 boot.loader.efi.canTouchEfiVariables = true;
1717+ hardware.amdgpu.initrd.enable = true;
1818+ hardware.bluetooth.enable = true;
1919+ profiles.zfs.enable = true;
1620 networking.hostId = "5398fbbf";
1721 networking.hostName = "uruk"; # Define your hostname.
1818-1919- # Configure network connections interactively with nmcli or nmtui.
2020-2121- # Set your time zone.
2222- # time.timeZone = "Europe/Amsterdam";
2323-2424- # Configure network proxy if necessary
2525- # networking.proxy.default = "http://user:password@proxy:port/";
2626- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
2727-2828- # Select internationalisation properties.
2929- # i18n.defaultLocale = "en_US.UTF-8";
3030- #console = {
3131- # font = "Lat2-Terminus16";
3232- # keyMap = "us";
3333- # useXkbConfig = true; # use xkb.options in tty.
3434- #};
3535-3636- # Configure keymap in X11
3737- # services.xserver.xkb.layout = "us";
3838- # services.xserver.xkb.options = "eurosign:e,caps:escape";
3939-4040- # Enable CUPS to print documents.
4141- # services.printing.enable = true;
4242-4343- # Enable sound.
4444- # services.pulseaudio.enable = true;
4545- # OR
4646- # services.pipewire = {
4747- # enable = true;
4848- # pulse.enable = true;
4949- # };
5050-5151- # Enable touchpad support (enabled default in most desktopManager).
5252- # services.libinput.enable = true;
5353-5454- # Define a user account. Don't forget to set a password with ‘passwd’.
5555- # users.users.alice = {
5656- # isNormalUser = true;
5757- # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
5858- # packages = with pkgs; [
5959- # tree
6060- # ];
6161- # };
6262-6363- # programs.firefox.enable = true;
6464-6565- # List packages installed in system profile.
6666- # You can use https://search.nixos.org/ to find more packages (and options).
6767- # environment.systemPackages = with pkgs; [
6868- # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
6969- # wget
7070- # ];
7171-7272- # Some programs need SUID wrappers, can be configured further or are
7373- # started in user sessions.
7474- # programs.mtr.enable = true;
7575- # programs.gnupg.agent = {
7676- # enable = true;
7777- # enableSSHSupport = true;
7878- # };
7979-8080- # List services that you want to enable:
8181-8282- # Enable the OpenSSH daemon.
8383- # services.openssh.enable = true;
8484-8585- # Open ports in the firewall.
8686- # networking.firewall.allowedTCPPorts = [ ... ];
8787- # networking.firewall.allowedUDPPorts = [ ... ];
8888- # Or disable the firewall altogether.
8989- # networking.firewall.enable = false;
9090-9191- # Copy the NixOS configuration file and link it from the resulting system
9292- # (/run/current-system/configuration.nix). This is useful in case you
9393- # accidentally delete configuration.nix.
9494- # system.copySystemConfiguration = true;
9595-9696- # This option defines the first version of NixOS you have installed on this particular machine,
9797- # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
9898- #
9999- # Most users should NEVER change this value after the initial install, for any reason,
100100- # even if you've upgraded your system to a new NixOS release.
101101- #
102102- # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
103103- # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
104104- # to actually do that.
105105- #
106106- # This value being lower than the current NixOS release does NOT mean your system is
107107- # out of date, out of support, or vulnerable.
108108- #
109109- # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
110110- # and migrated your data accordingly.
111111- #
112112- # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
2222+ services.openssh.enable = true;
11323 system.stateVersion = "25.11"; # Did you read the comment?
1142411525}