···11+# Edit this configuration file to define what should be installed on
22+# your system. Help is available in the configuration.nix(5) man page
33+# and in the NixOS manual (accessible by running ‘nixos-help’).
44+55+{ config, pkgs, ... }:
66+77+{
88+ imports =
99+ [ # Include the results of the hardware scan.
1010+ ./hardware-configuration.nix
1111+ ];
1212+1313+ # Bootloader.
1414+ boot.loader.systemd-boot.enable = true;
1515+ boot.loader.efi.canTouchEfiVariables = true;
1616+1717+ networking.hostName = "nixos"; # Define your hostname.
1818+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
1919+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
2020+ # Configure network proxy if necessary
2121+ # networking.proxy.default = "http://user:password@proxy:port/";
2222+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
2323+2424+ # Enable networking
2525+ networking.networkmanager.enable = true;
2626+2727+ # Set your time zone.
2828+ time.timeZone = "Europe/Paris";
2929+3030+ # Select internationalisation properties.
3131+ i18n.defaultLocale = "en_US.UTF-8";
3232+3333+ i18n.extraLocaleSettings = {
3434+ LC_ADDRESS = "fr_FR.UTF-8";
3535+ LC_IDENTIFICATION = "fr_FR.UTF-8";
3636+ LC_MEASUREMENT = "fr_FR.UTF-8";
3737+ LC_MONETARY = "fr_FR.UTF-8";
3838+ LC_NAME = "fr_FR.UTF-8";
3939+ LC_NUMERIC = "fr_FR.UTF-8";
4040+ LC_PAPER = "fr_FR.UTF-8";
4141+ LC_TELEPHONE = "fr_FR.UTF-8";
4242+ LC_TIME = "fr_FR.UTF-8";
4343+ };
4444+4545+ # Enable the X11 windowing system.
4646+ services.xserver.enable = true;
4747+4848+ # Enable the GNOME Desktop Environment.
4949+ services.xserver.displayManager.gdm.enable = true;
5050+ services.xserver.desktopManager.gnome.enable = true;
5151+5252+ # Configure keymap in X11
5353+ services.xserver.xkb = {
5454+ layout = "us";
5555+ variant = "";
5656+ };
5757+5858+ # Enable CUPS to print documents.
5959+ services.printing.enable = true;
6060+6161+ # Enable sound with pipewire.
6262+ hardware.pulseaudio.enable = false;
6363+ security.rtkit.enable = true;
6464+ services.pipewire = {
6565+ enable = true;
6666+ alsa.enable = true;
6767+ alsa.support32Bit = true;
6868+ pulse.enable = true;
6969+ # If you want to use JACK applications, uncomment this
7070+ #jack.enable = true;
7171+7272+ # use the example session manager (no others are packaged yet so this is enabled by default,
7373+ # no need to redefine it in your config for now)
7474+ #media-session.enable = true;
7575+ };
7676+7777+ # Enable touchpad support (enabled default in most desktopManager).
7878+ # services.xserver.libinput.enable = true;
7979+8080+ # Define a user account. Don't forget to set a password with ‘passwd’.
8181+ users.users.alex = {
8282+ isNormalUser = true;
8383+ description = "Alex";
8484+ extraGroups = [ "networkmanager" "wheel" ];
8585+ packages = with pkgs; [
8686+ # thunderbird
8787+ ];
8888+ };
8989+9090+ # Install firefox.
9191+ programs.firefox.enable = true;
9292+9393+ # Allow unfree packages
9494+ nixpkgs.config.allowUnfree = true;
9595+9696+ # List packages installed in system profile. To search, run:
9797+ # $ nix search wget
9898+ environment.systemPackages = with pkgs; [
9999+ vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
100100+ wget
101101+ git
102102+ curl
103103+ ];
104104+105105+ # Some programs need SUID wrappers, can be configured further or are
106106+ # started in user sessions.
107107+ # programs.mtr.enable = true;
108108+ # programs.gnupg.agent = {
109109+ # enable = true;
110110+ # enableSSHSupport = true;
111111+ # };
112112+113113+ # List services that you want to enable:
114114+115115+ # Enable the OpenSSH daemon.
116116+ services.openssh.enable = true;
117117+118118+ # nvidia
119119+ # hardware.graphics.enable = true;
120120+ hardware.opengl = {
121121+ enable = true;
122122+ driSupport = true;
123123+ };
124124+ services.xserver.videoDrivers = ["nvidia"];
125125+126126+ hardware.nvidia = {
127127+ modesetting.enable = true;
128128+ powerManagement.enable = false;
129129+ powerManagement.finegrained = false;
130130+ open = false;
131131+132132+ nvidiaSettings = true;
133133+134134+ package = config.boot.kernelPackages.nvidiaPackages.stable; # TODO install updated driver for RTX 2070 SUPER
135135+ };
136136+137137+ # Open ports in the firewall.
138138+ # networking.firewall.allowedTCPPorts = [ ... ];
139139+ # networking.firewall.allowedUDPPorts = [ ... ];
140140+ # Or disable the firewall altogether.
141141+ # networking.firewall.enable = false;
142142+143143+ # This value determines the NixOS release from which the default
144144+ # settings for stateful data, like file locations and database versions
145145+ # on your system were taken. It‘s perfectly fine and recommended to leave
146146+ # this value at the release version of the first install of this system.
147147+ # Before changing this value read the documentation for this option
148148+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
149149+ system.stateVersion = "24.05"; # Did you read the comment?
150150+151151+}
+40
nixos/pinemarten/hardware-configuration.nix
···11+# Do not modify this file! It was generated by ‘nixos-generate-config’
22+# and may be overwritten by future invocations. Please make changes
33+# to /etc/nixos/configuration.nix instead.
44+{ config, lib, pkgs, modulesPath, ... }:
55+66+{
77+ imports =
88+ [ (modulesPath + "/installer/scan/not-detected.nix")
99+ ];
1010+1111+ boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
1212+ boot.initrd.kernelModules = [ ];
1313+ boot.kernelModules = [ "kvm-amd" ];
1414+ boot.extraModulePackages = [ ];
1515+1616+ fileSystems."/" =
1717+ { device = "/dev/disk/by-uuid/fe527f6c-1da0-40d3-b541-eb5eadfdc95a";
1818+ fsType = "ext4";
1919+ };
2020+2121+ fileSystems."/boot" =
2222+ { device = "/dev/disk/by-uuid/1B9A-699B";
2323+ fsType = "vfat";
2424+ options = [ "fmask=0077" "dmask=0077" ];
2525+ };
2626+2727+ swapDevices =
2828+ [ { device = "/dev/disk/by-uuid/220734f6-88e2-42b5-b373-f72646bf3c34"; }
2929+ ];
3030+3131+ # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
3232+ # (the default) this is the recommended approach. When using systemd-networkd it's
3333+ # still possible to use this option, but it's recommended to use it in conjunction
3434+ # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
3535+ networking.useDHCP = lib.mkDefault true;
3636+ # networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
3737+3838+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
3939+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
4040+}