diff --git a/systems/PC-Fixe/configuration.nix b/systems/PC-Fixe/configuration.nix new file mode 100644 index 0000000..67875c8 --- /dev/null +++ b/systems/PC-Fixe/configuration.nix @@ -0,0 +1,155 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +{ + imports = + [ + ./hardware-configuration.nix + ../common.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; + + # NVIDIA + services.xserver.videoDrivers = [ "nvidia" ]; + + # 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 = "paul-fixe"; # Define your hostname. + networking.networkmanager.enable = true; # Enables wireless support via wpa_supplicant. + + # 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 + wineStaging + winetricks + qbittorrent + transmission-remote-gtk + appimage-run + bat + + gopass + xclip + + electrum + electron-cash + + firefox + chromium + + 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 + 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" ]; + uid = 1000; + }; + + services.syncthing.enable = true; + 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 new file mode 100644 index 0000000..bc893a8 --- /dev/null +++ b/systems/PC-Fixe/hardware-configuration.nix @@ -0,0 +1,65 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, ... }: + +{ + imports = + [ + ]; + + boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "firewire_ohci" "pata_marvell" "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/509a5842-56fe-40bd-8b00-6bda87e02e5e"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/A225-07A5"; + fsType = "vfat"; + }; + + fileSystems."/mnt/hdd" = + { device = "/dev/mapper/ManjaroVG-ManjaroRoot"; + fsType = "ext4"; + }; + + fileSystems."/home/paul/Documents" = + { device = "/mnt/hdd/paul/Documents"; + options = [ "bind" ]; + }; + + fileSystems."/home/paul/Downloads" = + { device = "/mnt/hdd/paul/Téléchargements"; + options = [ "bind" ]; + }; + + fileSystems."/home/paul/Music" = + { device = "/mnt/hdd/paul/Musique"; + options = [ "bind" ]; + }; + + fileSystems."/home/paul/Pictures" = + { device = "/mnt/hdd/paul/Images"; + options = [ "bind" ]; + }; + + fileSystems."/home/paul/Videos" = + { device = "/mnt/hdd/paul/Vidéos"; + options = [ "bind" ]; + }; + + fileSystems."/mnt/steam" = + { device = "192.168.0.5:/exports/steam"; + fsType = "nfs"; + options = ["x-systemd.automount" "noauto"]; + }; + + swapDevices = [ ]; + + nix.maxJobs = lib.mkDefault 4; + powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; +}