diff --git a/flake.nix b/flake.nix index a26517d..13bc24a 100644 --- a/flake.nix +++ b/flake.nix @@ -48,6 +48,7 @@ { name = "nixos-test"; system = "x86_64-linux"; } { name = "perso-laptop"; system = "x86_64-linux"; } { name = "perso-desktop"; system = "x86_64-linux"; } + { name = "pro-laptop"; system = "x86_64-linux"; } ]; in { nixosConfigurations = nixpkgs.lib.foldl (c: s: diff --git a/hosts/nixos-test/configuration.nix b/hosts/nixos-test/configuration.nix index 0cf4698..44d28b0 100644 --- a/hosts/nixos-test/configuration.nix +++ b/hosts/nixos-test/configuration.nix @@ -36,31 +36,23 @@ }; modules.system = { + desktop = { + plasma.enable = true; + }; + server = { docker.enable = true; openssh.enable = true; }; hardware = { + bluetooth.enable = true; + gamingKernel.enable = true; keymaps.layout = "us"; - }; - }; - - # Run containers - virtualisation.oci-containers.containers."hello" = { - image = "docker.io/nginxdemos/hello:latest"; - - ports = [ - "9000:80/tcp" - ]; - }; - - services.nginx = { - enable = true; - virtualHosts."hello.local" = { - locations."/" = { - proxyPass = "http://127.0.0.1:9000"; - }; + pipewire.enable = true; + plymouth.enable = true; + printing.enable = true; + waydroid.enable = true; }; }; } diff --git a/hosts/perso-desktop/configuration.nix b/hosts/perso-desktop/configuration.nix index 823bc70..99b3ba2 100644 --- a/hosts/perso-desktop/configuration.nix +++ b/hosts/perso-desktop/configuration.nix @@ -21,7 +21,6 @@ modules.system = { apps = { - flatpak.enable = true; steam.enable = true; }; diff --git a/hosts/perso-laptop/configuration.nix b/hosts/perso-laptop/configuration.nix index e532911..37c845a 100644 --- a/hosts/perso-laptop/configuration.nix +++ b/hosts/perso-laptop/configuration.nix @@ -33,10 +33,6 @@ }; modules.system = { - apps = { - flatpak.enable = true; - }; - desktop = { plasma.enable = true; }; diff --git a/hosts/pro-laptop/configuration.nix b/hosts/pro-laptop/configuration.nix new file mode 100644 index 0000000..3c57635 --- /dev/null +++ b/hosts/pro-laptop/configuration.nix @@ -0,0 +1,55 @@ +# 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 = + [ + ../../modules/system + + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "nixos-laptop-pro"; # Define your hostname. + +# hardware.nvidia.prime = { +# offload = { +# enable = true; +# enableOffloadCmd = true; +# }; +# +# # Make sure to use the correct Bus ID values for your system! +# # information bus: pci@0000:00:02.0 +# intelBusId = "PCI:0:2:0"; +# # information bus: pci@0000:01:00.0 +# nvidiaBusId = "PCI:1:0:0"; +# }; + + modules.system = { + desktop = { + plasma.enable = true; + }; + + hardware = { + bluetooth.enable = true; + gamingKernel.enable = true; + keymaps.layout = "fr"; + nvidia.enable = true; + pipewire.enable = true; + plymouth.enable = true; + printing.enable = true; + waydroid.enable = true; + }; + + server = { + distrobox.enable = true; + }; + }; +} diff --git a/hosts/pro-laptop/hardware-configuration.nix b/hosts/pro-laptop/hardware-configuration.nix new file mode 100644 index 0000000..3912ab4 --- /dev/null +++ b/hosts/pro-laptop/hardware-configuration.nix @@ -0,0 +1,40 @@ +# 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, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/98137863-d1f5-4286-9385-42abf74b44a6"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/51DB-A393"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/7b49cd63-3b19-43bb-acc9-0d27d92152b9"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/pro-laptop/home.nix b/hosts/pro-laptop/home.nix new file mode 100644 index 0000000..b794b59 --- /dev/null +++ b/hosts/pro-laptop/home.nix @@ -0,0 +1,30 @@ +{ config, pkgs, ... }: + +{ + imports = [ + ../../modules/home + ]; + + modules.home = { + apps = { + chromium.enable = true; + firefox.enable = true; + flatpak.enable = true; + jetbrainsToolbox.enable = true; + kitty.enable = true; + }; + + editors = { + emacs.enable = true; + vscode.enable = true; + }; + + shell = { + zsh.enable = true; + atuin.enable = true; + direnv.enable = true; + git.enable = true; + }; + }; +} + diff --git a/modules/system/apps/default.nix b/modules/system/apps/default.nix index 501551c..557c5f2 100644 --- a/modules/system/apps/default.nix +++ b/modules/system/apps/default.nix @@ -2,7 +2,6 @@ { imports = [ - ./flatpak ./steam ]; } diff --git a/modules/system/apps/flatpak/default.nix b/modules/system/apps/flatpak/default.nix deleted file mode 100644 index 9285773..0000000 --- a/modules/system/apps/flatpak/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, lib, ... }: - -with lib; -let - cfg = config.modules.system.apps.flatpak; -in -{ - options.modules.system.apps.flatpak = { - enable = mkEnableOption '' - Enable flatpak - ''; - }; - - config = mkIf cfg.enable { - services.flatpak.enable = true; # Important can't be enabled from home-manager - }; -} \ No newline at end of file diff --git a/modules/system/common.nix b/modules/system/common.nix index e216574..5838226 100644 --- a/modules/system/common.nix +++ b/modules/system/common.nix @@ -65,6 +65,8 @@ extraGroups = [ "networkmanager" "wheel" ]; }; + services.flatpak.enable = true; # Important can't be enabled from home-manager + # Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed. # Require https://github.com/symphorien/nixseparatedebuginfod?tab=readme-ov-file#gdb services.nixseparatedebuginfod.enable = true; diff --git a/modules/system/server/docker/default.nix b/modules/system/server/docker/default.nix index 215d470..dfdd13b 100644 --- a/modules/system/server/docker/default.nix +++ b/modules/system/server/docker/default.nix @@ -14,7 +14,6 @@ in virtualisation.docker = { enable = true; }; - virtualisation.oci-containers.backend = "docker"; users.users.florian.extraGroups = [ "docker" ]; };