diff --git a/flake.lock b/flake.lock index 66cbc40..af72db5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -7,11 +28,11 @@ ] }, "locked": { - "lastModified": 1757443987, - "narHash": "sha256-T7E4CIsZBUzrUcPRyTG9FA2xd48MtbQ/HpIaaCfwZwc=", + "lastModified": 1757997814, + "narHash": "sha256-F+1aoG+3NH4jDDEmhnDUReISyq6kQBBuktTUqCUWSiw=", "owner": "nix-community", "repo": "home-manager", - "rev": "d587e11cef9caa9484ed090eddc55f4c56908342", + "rev": "5820376beb804de9acf07debaaff1ac84728b708", "type": "github" }, "original": { @@ -27,11 +48,11 @@ ] }, "locked": { - "lastModified": 1756679287, - "narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=", + "lastModified": 1757808926, + "narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=", "owner": "nix-community", "repo": "home-manager", - "rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8", + "rev": "f21d9167782c086a33ad53e2311854a8f13c281e", "type": "github" }, "original": { @@ -41,13 +62,29 @@ "type": "github" } }, + "nixpkgs": { + "locked": { + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { - "lastModified": 1757408970, - "narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=", + "lastModified": 1757810152, + "narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315", + "rev": "9a094440e02a699be5c57453a092a8baf569bdad", "type": "github" }, "original": { @@ -59,11 +96,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1757438868, - "narHash": "sha256-b0aI1nv8Bob5o0wAYClpbp5Ury5ncDzFKsBPecA/F5A=", + "lastModified": 1757924820, + "narHash": "sha256-to/hwbY9/jsRaejPa5oJmPUFZsJfFCB3WReKhD0+/+E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3dcb63379993929081024230943d5265e172ce02", + "rev": "aa54acd34af0e86f49d55ea52823031e2da399df", "type": "github" }, "original": { @@ -73,12 +110,32 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1758008446, + "narHash": "sha256-n1carH6n9xIARoDzmzZPyxlU2MVEuGAFt2UAvVOACJg=", + "owner": "nix-community", + "repo": "NUR", + "rev": "1b8ae8bec68487a61944cfdbfcb67f4aa69ff002", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "home-manager-stable": "home-manager-stable", "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-unstable": "nixpkgs-unstable", + "nur": "nur" } } }, diff --git a/flake.nix b/flake.nix index ef02d37..86c8e5c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,15 +3,16 @@ inputs = { nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.05"; - nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small"; home-manager-stable = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; + nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + nur.url = "github:nix-community/NUR"; }; outputs = { @@ -19,34 +20,50 @@ nixpkgs-unstable, home-manager-stable, home-manager, + nur, ... - }: { - # --- Host NixOS (x86_64) --- - nixosConfigurations = { - pennsardin = nixpkgs-unstable.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./hosts/pennsardin/configuration.nix - home-manager.nixosModules.home-manager - # L'utilisateur HM est déclaré dans hosts/pennsardin/configuration.nix - ]; + } @ inputs: let + mkUnstablePkgsWithNur = { system, config ? {} }: + import nixpkgs-unstable { + inherit system; + overlays = [ nur.overlays.default ]; + config = config ; }; + in + + { +# --- Host NixOS (x86_64) --- + nixosConfigurations = { + pennsardin = nixpkgs-unstable.lib.nixosSystem { + system = "x86_64-linux"; + pkgs = mkUnstablePkgsWithNur { + system = "x86_64-linux"; + config = { + allowUnfree = true ; + allowUnsupportedSystem = true ; + }; + }; + modules = [ + ./hosts/pennsardin/configuration.nix + home-manager.nixosModules.home-manager + ]; + }; terre-neuvas = nixpkgs-stable.lib.nixosSystem { system = "x86_64-linux"; - modules = [ + modules = [ ./hosts/terre-neuvas/configuration.nix - home-manager-stable.nixosModules.home-manager - ]; + home-manager-stable.nixosModules.home-manager + ]; }; }; - # --- DevShell (x86_64 uniquement) --- +# --- DevShell (x86_64 uniquement) --- devShells.x86_64-linux.default = import ./devshell.nix { pkgs = import nixpkgs-stable {system = "x86_64-linux";}; }; - # --- Formatter (x86_64 uniquement) --- +# --- Formatter (x86_64 uniquement) --- formatter.x86_64-linux = (import nixpkgs-stable {system = "x86_64-linux";}).alejandra; }; diff --git a/hm/common/browser.nix b/hm/common/browser.nix index 1d623f1..8a2ef8b 100644 --- a/hm/common/browser.nix +++ b/hm/common/browser.nix @@ -1,12 +1,23 @@ -_: { +{pkgs, nur, ... }: { programs.firefox = { enable = true; languagePacks = ["fr"]; + profiles.default = { + settings = { + "intl.locale.requested" = "fr" ; + "intl.accept_languages" = "fr, en-US, en"; + "privacy.trackingprotection.enabled" = true ; + "privacy.resistFingerprinting" = true ; + "network.cookie.cookieBehavior" = 1; + }; + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ + i-dont-care-about-cookies + privacy-badger + proton-pass + ublock-origin + ]; + }; }; - programs.floorp = { - enable = true; - languagePacks = ["fr"]; - }; -} + } # vim: set ts=2 sw=2 sts=2 et : diff --git a/hm/desktop/bspwm.nix b/hm/desktop/bspwm.nix index 5c0c83d..bac1d92 100644 --- a/hm/desktop/bspwm.nix +++ b/hm/desktop/bspwm.nix @@ -1,5 +1,5 @@ # hm/desktop/bspwm.nix -{ pkgs, ... }: +{ pkgs, lib, ... }: { imports = [ ../common/browser.nix @@ -22,7 +22,7 @@ "sxhkd -m 1" "setxkbmap bepovim" "xrandr --output DisplayPort-1 --rate 60 --pos 0x0" - "while pgrep -x polybar >/dev/null; do sleep 0.2; done; polybar main" + "while pgrep -x polybar >/dev/null; do sleep 1; done; polybar main" "bash ~/.fehbg" ]; @@ -139,10 +139,10 @@ settings = { general.import = [ "~/.cache/wal/colors-alacritty.toml" ]; font = { - normal = { family = "Iosevka Nerd Font"; style = "Regular"; }; - bold = { family = "Iosevka Nerd Font"; style = "Bold"; }; - italic = { family = "Iosevka Nerd Font"; style = "Italic"; }; - size = 9; + normal = { family = lib.mkForce "Iosevka Nerd Font"; style = "Regular"; }; + bold = { family = lib.mkForce "Iosevka Nerd Font"; style = "Bold"; }; + italic = { family = lib.mkForce "Iosevka Nerd Font"; style = "Italic"; }; + size = lib.mkForce 9; }; }; }; diff --git a/hm/users/lomig-desktop.nix b/hm/users/lomig-desktop.nix index 1cd665e..b0c7d7a 100644 --- a/hm/users/lomig-desktop.nix +++ b/hm/users/lomig-desktop.nix @@ -9,8 +9,8 @@ fastfetch nerd-fonts.iosevka obsidian + proton-pass smug - telegram-desktop ]; }; } diff --git a/hosts/pennsardin/configuration.nix b/hosts/pennsardin/configuration.nix index 8432613..4d26e18 100644 --- a/hosts/pennsardin/configuration.nix +++ b/hosts/pennsardin/configuration.nix @@ -2,19 +2,41 @@ imports = [ ../../profiles/workstation-bspwm.nix ../../modules/hardware/bepovim.nix - ../../modules/dev/qemu.nix +# ../../modules/dev/qemu.nix ../../modules/common/nix.nix ]; networking.hostName = "pennsardin"; boot.kernelPackages = pkgs.linuxPackages_latest; + boot.swraid.enable = true ; - fileSystems."/" = { - device = "/dev/disk/by-uuid/b4e3577b-17ab-4a89-9aeb-4e223be4c75b"; # à adapter si tu as un autre label/disque - fsType = "ext4"; # ou btrfs, xfs, ce que t'as utilisé + + fileSystems."/" = + { device = "/dev/disk/by-uuid/b1a1ae71-4277-45d5-a3d2-f49354f263d4"; + fsType = "ext4"; }; - swapDevices = []; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/1DB2-7A0F"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + fileSystems."/proc" = + { + device = "proc" ; + fsType = "proc" ; + options = [ "defaults" "hidepid=2" ]; + neededForBoot = true ; + }; + + fileSystems."/srv/raid" = + { device = "/dev/disk/by-uuid/85f72160-4720-463a-9dc6-7c5216733f2b"; + fsType = "btrfs"; + }; + + swapDevices = [ ]; users.users.lomig = { isNormalUser = true; @@ -29,5 +51,6 @@ system.stateVersion = "25.05"; # pour éviter les hurlements inutiles } + # vim: set ts=2 sw=2 sts=2 et : diff --git a/modules/common/fonts.nix b/modules/common/fonts.nix new file mode 100644 index 0000000..c04d82d --- /dev/null +++ b/modules/common/fonts.nix @@ -0,0 +1,5 @@ +{ pkgs, ...}: { + fonts.packages = with pkgs; [ + dejavu_fonts + ]; +} diff --git a/modules/common/nix.nix b/modules/common/nix.nix index d2e581e..458187f 100644 --- a/modules/common/nix.nix +++ b/modules/common/nix.nix @@ -5,7 +5,7 @@ }; nixpkgs.config = { - allowUnfree = true; - allowUnsupportedSystem = true; +# allowUnfree = true; +# allowUnsupportedSystem = true; }; } diff --git a/modules/dev/qemu.nix b/modules/dev/qemu.nix index 0ce8a82..e70e4ab 100644 --- a/modules/dev/qemu.nix +++ b/modules/dev/qemu.nix @@ -4,7 +4,7 @@ ... }: { imports = [ - ../virtual/truenas.nix +# ../virtual/truenas.nix ]; boot.kernelModules = lib.mkAfter ["tun"]; environment.systemPackages = with pkgs; [ diff --git a/modules/roles/workstation.nix b/modules/roles/workstation.nix index 1152198..adcedfd 100644 --- a/modules/roles/workstation.nix +++ b/modules/roles/workstation.nix @@ -11,8 +11,8 @@ ../virtual/vfio.nix # Dev - ../dev/qemu.nix - ../virtual/truenas.nix # seulement si tu l’utilises sur ce host +# ../dev/qemu.nix +# ../virtual/truenas.nix # seulement si tu l’utilises sur ce host ]; environment.systemPackages = with pkgs; [ diff --git a/profiles/workstation-bspwm.nix b/profiles/workstation-bspwm.nix index c4680d3..b3dd3db 100644 --- a/profiles/workstation-bspwm.nix +++ b/profiles/workstation-bspwm.nix @@ -3,6 +3,7 @@ ../modules/roles/workstation.nix ../modules/desktop/xorg-bspwm.nix ../modules/common/base.nix + ../modules/common/fonts.nix ../modules/common/networking.nix ../modules/common/plymouth.nix ../modules/hardware/firmware.nix @@ -11,7 +12,6 @@ ../modules/common/bluetooth.nix ../modules/common/gaming.nix ../modules/services/printing.nix - ../modules/dev/qemu.nix ../modules/common/lockscreen.nix ../modules/common/energy.nix ];