diff --git a/systems/ASUS-G46VW/configuration.nix b/systems/ASUS-G46VW/configuration.nix index c6ac12a..3f30d96 100644 --- a/systems/ASUS-G46VW/configuration.nix +++ b/systems/ASUS-G46VW/configuration.nix @@ -7,15 +7,11 @@ { imports = [ - ../common.nix + ../common-cli.nix + ../common-gui.nix ./hardware-configuration.nix ]; - nixpkgs.overlays = [ - (import ../../overlays/ledger-udev-rules.nix) - ]; - - # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.tmpOnTmpfs = true; @@ -29,130 +25,11 @@ ENERGY_PERF_POLICY_ON_BAT=powersave ''; - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - hardware.nvidia.optimus_prime.enable = true; - hardware.nvidia.modesetting.enable = true; - hardware.nvidia.optimus_prime.nvidiaBusId = "PCI:1:0:0"; - hardware.nvidia.optimus_prime.intelBusId = "PCI:0:2:0"; - - # For Steam - hardware.opengl.driSupport32Bit = true; - hardware.pulseaudio.support32Bit = true; - hardware.steam-hardware.enable = true; - - hardware.u2f.enable = true; - - services.udev.packages = with pkgs; [ - ledger-udev-rules - ]; - - networking.hostName = "rog-paul"; # Define your hostname. - networking.networkmanager.enable = true; # Enables wireless support via wpa_supplicant. - - # Select internationalisation properties. - i18n = { - # consoleFont = "Lat2-Terminus16"; - consoleKeyMap = "fr"; - defaultLocale = "fr_FR.UTF-8"; - }; - - # List packages installed in system profile. To search by name, run: - # $ nix-env -qaP | grep wget - nixpkgs.config.allowUnfree = true; - environment.systemPackages = with pkgs; [ - filezilla - wineWowPackages.unstable - (winetricks.override { - wine = wineWowPackages.unstable; - }) - qbittorrent - transmission-remote-gtk - appimage-run - bat - - gopass - xclip - - electrum - electron-cash - - firefox - torbrowser - chromium - qutebrowser - - tdesktop - mumble - - kleopatra - gnupg - - kdeplasma-addons - ark - kate - kmail - kdeconnect - okular - yakuake - konversation - gwenview - kcalc - spectacle - kile - (texlive.combine { - inherit (texlive) scheme-small titling collection-langfrench cm-super; - }) - imagemagick - - gnome-breeze - arc-theme - materia-theme - - libreoffice - gimp - vlc - kodiPlain - mpv - - steam - sc-controller - steam-run - minecraft - - glxinfo - i7z - obs-studio - ]; + networking.hostName = "rog-paul"; programs.wireshark.enable = true; programs.wireshark.package = pkgs.wireshark; - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.bash.enableCompletion = true; - # programs.mtr.enable = true; - programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; - programs.browserpass.enable = true; - services.pcscd.enable = true; - services.pcscd.plugins = [ - (pkgs.ccid.overrideAttrs (oldAttrs: rec { - preBuild = '' - echo "0x2C97:0x0001:Ledger Token" >> ./readers/supported_readers.txt - ''; - }) - ) - ]; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - # services.openssh.enable = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ 8000 ]; - # networking.firewall.allowedUDPPorts = [ ]; - # Or disable the firewall altogether. networking.firewall.enable = false; networking.wireguard.interfaces = { @@ -170,28 +47,12 @@ }; }; - # Enable CUPS to print documents. services.printing.enable = true; services.printing.drivers = [ pkgs.hplip ]; - # Enable sound. - sound.enable = true; - hardware.pulseaudio.enable = true; - - # Enable the X11 windowing system. - services.xserver.enable = true; - services.xserver.layout = "fr"; - # services.xserver.xkbOptions = "eurosign:e"; - - # Enable touchpad support. services.xserver.libinput.enable = true; services.xserver.libinput.naturalScrolling = true; - # Enable the KDE Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. users.extraUsers.paul = { isNormalUser = true; uid = 1000; @@ -202,16 +63,6 @@ services.syncthing.user = "paul"; services.syncthing.group = "users"; - # Set limits for esync (SteamPlay Proton) - systemd.extraConfig = "DefaultLimitNOFILE=1048576"; - - security.pam.loginLimits = [{ - domain = "*"; - type = "hard"; - item = "nofile"; - value = "1048576"; - }]; - services.redshift = { enable = true; temperature.night = 2700; @@ -220,10 +71,5 @@ location.latitude = 48.573406; location.longitude = 7.752111; - # This value determines the NixOS release with which your system is to be - # compatible, in order to avoid breaking some software such as database - # servers. You should change this only after NixOS release notes say you - # should. system.stateVersion = "18.03"; # Did you read the comment? - } diff --git a/systems/ASUS-G46VW/hardware-configuration.nix b/systems/ASUS-G46VW/hardware-configuration.nix index 4394c6b..19c994e 100644 --- a/systems/ASUS-G46VW/hardware-configuration.nix +++ b/systems/ASUS-G46VW/hardware-configuration.nix @@ -12,6 +12,13 @@ boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; + # NVIDIA + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia.optimus_prime.enable = true; + hardware.nvidia.modesetting.enable = true; + hardware.nvidia.optimus_prime.nvidiaBusId = "PCI:1:0:0"; + hardware.nvidia.optimus_prime.intelBusId = "PCI:0:2:0"; + fileSystems."/" = { device = "/dev/disk/by-uuid/7bd3a09b-b188-4ce7-bdcc-d5c5087edc86"; fsType = "ext4"; diff --git a/systems/LoutreOS/configuration.nix b/systems/LoutreOS/configuration.nix index 2aeb375..44839c5 100644 --- a/systems/LoutreOS/configuration.nix +++ b/systems/LoutreOS/configuration.nix @@ -10,7 +10,7 @@ let in { imports = [ - ../common.nix + ../common-cli.nix ./hardware-configuration.nix ./users.nix ./services.nix diff --git a/systems/PC-Fixe/configuration.nix b/systems/PC-Fixe/configuration.nix index 0414784..6e5d035 100644 --- a/systems/PC-Fixe/configuration.nix +++ b/systems/PC-Fixe/configuration.nix @@ -8,34 +8,18 @@ imports = [ ./hardware-configuration.nix - ../common.nix + ../common-cli.nix + ../common-gui.nix ]; - nixpkgs.overlays = [ - (import ../../overlays/ledger-udev-rules.nix) - ]; - - # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - # boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelParams = ["acpi_enforce_resources=lax"]; boot.tmpOnTmpfs = true; - # NVIDIA - services.xserver.videoDrivers = [ "nvidia" ]; - - # For Steam - hardware.opengl.driSupport32Bit = true; - hardware.pulseaudio.support32Bit = true; - hardware.steam-hardware.enable = true; - - hardware.u2f.enable = true; - hardware.bluetooth.enable = true; services.udev.packages = with pkgs; [ - ledger-udev-rules usb-modeswitch-data # Logitech G920 ]; @@ -44,111 +28,17 @@ SUBSYSTEM=="usb", ATTR{bInterfaceNumber}=="00", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1b09", RUN+="${pkgs.bash}/bin/sh -c '${pkgs.coreutils}/bin/echo -n %k > /sys''${DEVPATH}/driver/unbind'" ''; - networking.hostName = "paul-fixe"; # Define your hostname. - networking.networkmanager.enable = true; # Enables wireless support via wpa_supplicant. + networking.hostName = "paul-fixe"; - # Select internationalisation properties. - i18n = { - consoleKeyMap = "fr"; - defaultLocale = "fr_FR.UTF-8"; - }; - - # List packages installed in system profile. To search by name, run: - # $ nix-env -qaP | grep wget - nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ - filezilla - wineWowPackages.staging - winetricks - qbittorrent - transmission-remote-gtk - appimage-run - bat usb_modeswitch - - gopass - xclip - - electrum - electron-cash - - firefox - chromium - torbrowser - - tdesktop - mumble - - kleopatra - gnupg - - kdeplasma-addons - ark - kate - kmail - kdeconnect - okular - yakuake - konversation - gwenview - kcalc - spectacle - kile - (texlive.combine { - inherit (texlive) scheme-small titling collection-langfrench cm-super; - }) - imagemagick - - gnome-breeze - arc-theme - materia-theme - - libreoffice - gimp - vlc - kodiPlain - - steam - sc-controller - steam-run - minecraft - - glxinfo - i7z - lm_sensors - obs-studio ]; programs.wireshark.enable = true; programs.wireshark.package = pkgs.wireshark; - programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; - programs.browserpass.enable = true; - services.pcscd.enable = true; - services.pcscd.plugins = [ - (pkgs.ccid.overrideAttrs (oldAttrs: rec { - preBuild = '' - echo "0x2C97:0x0001:Ledger Token" >> ./readers/supported_readers.txt - ''; - }) - ) - ]; - networking.firewall.enable = false; - # Enable sound. - sound.enable = true; - hardware.pulseaudio.enable = true; - - # Enable the X11 windowing system. - services.xserver.enable = true; - services.xserver.layout = "fr"; - - # Enable the KDE Desktop Environment. - services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.paul = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "wireshark" "input" ]; @@ -159,10 +49,5 @@ services.syncthing.user = "paul"; services.syncthing.group = "users"; - # This value determines the NixOS release with which your system is to be - # compatible, in order to avoid breaking some software such as database - # servers. You should change this only after NixOS release notes say you - # should. system.stateVersion = "18.09"; # Did you read the comment? - } diff --git a/systems/PC-Fixe/hardware-configuration.nix b/systems/PC-Fixe/hardware-configuration.nix index fcbbff7..ebb4e0f 100644 --- a/systems/PC-Fixe/hardware-configuration.nix +++ b/systems/PC-Fixe/hardware-configuration.nix @@ -12,6 +12,8 @@ boot.kernelModules = [ "kvm-intel" "nct6775" ]; boot.extraModulePackages = [ ]; + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.cpu.intel.updateMicrocode = true; fileSystems."/" = diff --git a/systems/common.nix b/systems/common-cli.nix similarity index 99% rename from systems/common.nix rename to systems/common-cli.nix index 073caa6..1a69611 100644 --- a/systems/common.nix +++ b/systems/common-cli.nix @@ -51,6 +51,7 @@ # Outils borgbackup binutils + bat # Développement openssl diff --git a/systems/common-gui.nix b/systems/common-gui.nix new file mode 100644 index 0000000..e65b56d --- /dev/null +++ b/systems/common-gui.nix @@ -0,0 +1,124 @@ +{ config, pkgs, ... }: + +{ + nixpkgs.overlays = [ + (import ../overlays/ledger-udev-rules.nix) + ]; + + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + filezilla + qbittorrent + transmission-remote-gtk + + wineWowPackages.staging + (winetricks.override { + wine = wineWowPackages.staging; + }) + steam + sc-controller + steam-run + minecraft + multimc + + electrum + electron-cash + + firefox + torbrowser + chromium + + tdesktop + mumble + + kleopatra + gnupg + gopass + xclip + + kdeplasma-addons + ark + kate + kmail + kdeconnect + okular + yakuake + konversation + gwenview + kcalc + spectacle + kile + (texlive.combine { + inherit (texlive) scheme-small titling collection-langfrench cm-super; + }) + + gnome-breeze + arc-theme + materia-theme + + libreoffice + + gimp + imagemagick + obs-studio + vlc + kodiPlain + mpv + + glxinfo + i7z + appimage-run + ]; + + i18n = { + consoleKeyMap = "fr"; + defaultLocale = "fr_FR.UTF-8"; + }; + + hardware = { + opengl.driSupport32Bit = true; + pulseaudio.support32Bit = true; + steam-hardware.enable = true; + u2f.enable = true; + pulseaudio.enable = true; + }; + + sound.enable = true; + + networking.networkmanager.enable = true; + + systemd.extraConfig = "DefaultLimitNOFILE=1048576"; + security.pam.loginLimits = [{ + domain = "*"; + type = "hard"; + item = "nofile"; + value = "1048576"; + }]; + + programs = { + gnupg.agent = { enable = true; enableSSHSupport = true; }; + browserpass.enable = true; + }; + + services = { + xserver = { + enable = true; + layout = "fr"; + displayManager.sddm.enable = true; + desktopManager.plasma5.enable = true; + }; + udev.packages = with pkgs; [ ledger-udev-rules ]; + pcscd = { + enable = true; + plugins = [ + (pkgs.ccid.overrideAttrs (oldAttrs: rec { + preBuild = '' + echo "0x2C97:0x0001:Ledger Token" >> ./readers/supported_readers.txt + ''; + }) + ) + ]; + }; + }; +}