From 2f538ca018de57812b562750b2e8f453d6abc9f9 Mon Sep 17 00:00:00 2001 From: Hunter Date: Thu, 4 Dec 2025 15:56:34 -0500 Subject: [PATCH] feat: Add python development services --- hosts/nix-laptop.nix | 11 +++++++++++ sw.nix | 18 +++--------------- users/default.nix | 10 ++++++---- users/python.nix | 9 +++++++++ 4 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 users/python.nix diff --git a/hosts/nix-laptop.nix b/hosts/nix-laptop.nix index b57189b..8435be2 100644 --- a/hosts/nix-laptop.nix +++ b/hosts/nix-laptop.nix @@ -22,4 +22,15 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + # Suspend / logind behavior + services.upower.enable = true; + services.logind.settings = { + Login = { + HandleLidSwitch = "suspend"; + HandleLidSwitchExternalPower = "suspend"; + HandleLidSwitchDocked = "ignore"; + }; + }; + } diff --git a/sw.nix b/sw.nix index 1974bbd..b682e8d 100644 --- a/sw.nix +++ b/sw.nix @@ -21,9 +21,6 @@ pulse.enable = true; }; - # Install firefox. - programs.firefox.enable = true; - # Allow unfree packages nixpkgs.config.allowUnfree = true; @@ -33,6 +30,7 @@ htop binutils man + chromium lm_sensors oh-my-posh zsh @@ -76,7 +74,7 @@ xdg.portal.extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ]; # Browsers - programs.chromium.enable = true; + programs.firefox.enable = true; # Virtualization virtualisation.libvirtd.enable = true; @@ -85,16 +83,6 @@ # Sensors services.thermald.enable = true; - # Suspend / logind behavior - services.upower.enable = true; - services.logind.settings = { - Login = { - HandleLidSwitch = "suspend"; - HandleLidSwitchExternalPower = "suspend"; - HandleLidSwitchDocked = "ignore"; - }; - }; - - # Enable the OpenSSH daemon. + # Enable the OpenSSH daemon. services.openssh.enable = true; } diff --git a/users/default.nix b/users/default.nix index fa48e01..4bb1059 100644 --- a/users/default.nix +++ b/users/default.nix @@ -1,5 +1,7 @@ { pkgs, ... }: - +let + pythonPkgs = import ./python.nix { inherit pkgs; }; +in { # Define a user account. Don't forget to set a password with ‘passwd’. users.users = { @@ -10,7 +12,7 @@ extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ kdePackages.kate - ]; + ] ++ pythonPkgs; hashedPassword = "$6$El6e2NhPrhVFjbFU$imlGZqUiizWw5fMP/ib0CeboOcFhYjIVb8oR1V1dP2NjDeri3jMoUm4ZABOB2uAF8UEDjAGHhFuZxhtbHg647/"; }; @@ -20,11 +22,11 @@ extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ kdePackages.kate - ]; + ] ++ pythonPkgs; shell = pkgs.zsh; }; }; - + # Home Manager configs per user home-manager = { useGlobalPkgs = true; diff --git a/users/python.nix b/users/python.nix new file mode 100644 index 0000000..d53a5ab --- /dev/null +++ b/users/python.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +[ + (pkgs.buildFHSEnv { + name = "pixi"; + runScript = "pixi"; + targetPkgs = pkgs: with pkgs; [ pixi ]; + }) + pkgs.uv +]