From 06d2aa59d1103c3fb4b080e77e72dd5ef23e8ec6 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Fri, 25 Oct 2024 14:45:25 +0200 Subject: [PATCH 1/3] Remove pro-laptop --- flake.nix | 1 - hosts/pro-laptop/configuration.nix | 55 --------------------- hosts/pro-laptop/hardware-configuration.nix | 40 --------------- hosts/pro-laptop/home.nix | 30 ----------- 4 files changed, 126 deletions(-) delete mode 100644 hosts/pro-laptop/configuration.nix delete mode 100644 hosts/pro-laptop/hardware-configuration.nix delete mode 100644 hosts/pro-laptop/home.nix diff --git a/flake.nix b/flake.nix index 13bc24a..a26517d 100644 --- a/flake.nix +++ b/flake.nix @@ -48,7 +48,6 @@ { 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/pro-laptop/configuration.nix b/hosts/pro-laptop/configuration.nix deleted file mode 100644 index 3c57635..0000000 --- a/hosts/pro-laptop/configuration.nix +++ /dev/null @@ -1,55 +0,0 @@ -# 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 deleted file mode 100644 index 3912ab4..0000000 --- a/hosts/pro-laptop/hardware-configuration.nix +++ /dev/null @@ -1,40 +0,0 @@ -# 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 deleted file mode 100644 index b794b59..0000000 --- a/hosts/pro-laptop/home.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ 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; - }; - }; -} - From d8a5045f6167605f75bee8e4ebddcd8ccf26a7e4 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Fri, 25 Oct 2024 14:46:24 +0200 Subject: [PATCH 2/3] system: Set flatpak as module --- hosts/perso-desktop/configuration.nix | 1 + hosts/perso-laptop/configuration.nix | 4 ++++ modules/system/apps/default.nix | 1 + modules/system/apps/flatpak/default.nix | 17 +++++++++++++++++ modules/system/common.nix | 2 -- modules/system/server/docker/default.nix | 1 + 6 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 modules/system/apps/flatpak/default.nix diff --git a/hosts/perso-desktop/configuration.nix b/hosts/perso-desktop/configuration.nix index 99b3ba2..823bc70 100644 --- a/hosts/perso-desktop/configuration.nix +++ b/hosts/perso-desktop/configuration.nix @@ -21,6 +21,7 @@ modules.system = { apps = { + flatpak.enable = true; steam.enable = true; }; diff --git a/hosts/perso-laptop/configuration.nix b/hosts/perso-laptop/configuration.nix index 37c845a..e532911 100644 --- a/hosts/perso-laptop/configuration.nix +++ b/hosts/perso-laptop/configuration.nix @@ -33,6 +33,10 @@ }; modules.system = { + apps = { + flatpak.enable = true; + }; + desktop = { plasma.enable = true; }; diff --git a/modules/system/apps/default.nix b/modules/system/apps/default.nix index 557c5f2..501551c 100644 --- a/modules/system/apps/default.nix +++ b/modules/system/apps/default.nix @@ -2,6 +2,7 @@ { imports = [ + ./flatpak ./steam ]; } diff --git a/modules/system/apps/flatpak/default.nix b/modules/system/apps/flatpak/default.nix new file mode 100644 index 0000000..9285773 --- /dev/null +++ b/modules/system/apps/flatpak/default.nix @@ -0,0 +1,17 @@ +{ 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 5838226..e216574 100644 --- a/modules/system/common.nix +++ b/modules/system/common.nix @@ -65,8 +65,6 @@ 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 dfdd13b..215d470 100644 --- a/modules/system/server/docker/default.nix +++ b/modules/system/server/docker/default.nix @@ -14,6 +14,7 @@ in virtualisation.docker = { enable = true; }; + virtualisation.oci-containers.backend = "docker"; users.users.florian.extraGroups = [ "docker" ]; }; From f38abd1320900c7b22d2ee6cf9f989194d03a3af Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Fri, 25 Oct 2024 14:46:44 +0200 Subject: [PATCH 3/3] nixos-vm: try nginx and docker --- hosts/nixos-test/configuration.nix | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/hosts/nixos-test/configuration.nix b/hosts/nixos-test/configuration.nix index 44d28b0..0cf4698 100644 --- a/hosts/nixos-test/configuration.nix +++ b/hosts/nixos-test/configuration.nix @@ -36,23 +36,31 @@ }; modules.system = { - desktop = { - plasma.enable = true; - }; - server = { docker.enable = true; openssh.enable = true; }; hardware = { - bluetooth.enable = true; - gamingKernel.enable = true; keymaps.layout = "us"; - pipewire.enable = true; - plymouth.enable = true; - printing.enable = true; - waydroid.enable = true; + }; + }; + + # 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"; + }; }; }; }