Compare commits

...

3 commits

Author SHA1 Message Date
Florian RICHER
f38abd1320 nixos-vm: try nginx and docker
All checks were successful
check / check (push) Successful in 29s
2024-10-25 14:46:44 +02:00
Florian RICHER
d8a5045f61 system: Set flatpak as module 2024-10-25 14:46:24 +02:00
Florian RICHER
06d2aa59d1 Remove pro-laptop 2024-10-25 14:45:25 +02:00
11 changed files with 42 additions and 138 deletions

View file

@ -48,7 +48,6 @@
{ name = "nixos-test"; system = "x86_64-linux"; } { name = "nixos-test"; system = "x86_64-linux"; }
{ name = "perso-laptop"; system = "x86_64-linux"; } { name = "perso-laptop"; system = "x86_64-linux"; }
{ name = "perso-desktop"; system = "x86_64-linux"; } { name = "perso-desktop"; system = "x86_64-linux"; }
{ name = "pro-laptop"; system = "x86_64-linux"; }
]; ];
in { in {
nixosConfigurations = nixpkgs.lib.foldl (c: s: nixosConfigurations = nixpkgs.lib.foldl (c: s:

View file

@ -36,23 +36,31 @@
}; };
modules.system = { modules.system = {
desktop = {
plasma.enable = true;
};
server = { server = {
docker.enable = true; docker.enable = true;
openssh.enable = true; openssh.enable = true;
}; };
hardware = { hardware = {
bluetooth.enable = true;
gamingKernel.enable = true;
keymaps.layout = "us"; 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";
};
}; };
}; };
} }

View file

@ -21,6 +21,7 @@
modules.system = { modules.system = {
apps = { apps = {
flatpak.enable = true;
steam.enable = true; steam.enable = true;
}; };

View file

@ -33,6 +33,10 @@
}; };
modules.system = { modules.system = {
apps = {
flatpak.enable = true;
};
desktop = { desktop = {
plasma.enable = true; plasma.enable = true;
}; };

View file

@ -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;
};
};
}

View file

@ -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.<interface>.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;
}

View file

@ -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;
};
};
}

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./flatpak
./steam ./steam
]; ];
} }

View file

@ -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
};
}

View file

@ -65,8 +65,6 @@
extraGroups = [ "networkmanager" "wheel" ]; 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. # 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 # Require https://github.com/symphorien/nixseparatedebuginfod?tab=readme-ov-file#gdb
services.nixseparatedebuginfod.enable = true; services.nixseparatedebuginfod.enable = true;

View file

@ -14,6 +14,7 @@ in
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;
}; };
virtualisation.oci-containers.backend = "docker";
users.users.florian.extraGroups = [ "docker" ]; users.users.florian.extraGroups = [ "docker" ];
}; };