From 56777c7f68c977870685d810cdeabd79bf20eab5 Mon Sep 17 00:00:00 2001 From: coast Date: Sun, 5 Oct 2025 04:25:14 +0330 Subject: [PATCH] updates --- etc/nixos/compose.nix | 58 +++++++++++++++++++++ etc/nixos/{configuration.nix => create.nix} | 28 ---------- etc/nixos/flake.nix | 11 ++-- 3 files changed, 62 insertions(+), 35 deletions(-) create mode 100644 etc/nixos/compose.nix rename etc/nixos/{configuration.nix => create.nix} (57%) diff --git a/etc/nixos/compose.nix b/etc/nixos/compose.nix new file mode 100644 index 0000000..c085bae --- /dev/null +++ b/etc/nixos/compose.nix @@ -0,0 +1,58 @@ +{ config, lib, inputs, pkgs, settings, ... }: let + unstable = import inputs.nixpkgs-unstable { inherit (pkgs) system; }; +in { + imports = [ ./hardware-configuration.nix ]; + + boot.readOnlyNixStore = true; + boot.initrd.compressor = "zstd"; + boot = { + readOnlyNixStore = true; + initrd.compressor = "zstd"; + loader.systemd-boot.enable = true; + loader.systemd-boot.editor = false; + loader.systemd-boot.configurationLimit = 25; + loader.canTouchEfiVariables = true; + kernelParams = [ + "nvidia_drm" + "nvidia_modeset" + "nvidia_uvm" + "nvidia-drm.fbdev=1" + "nvidia" + ]; + }; + + networking.hostName = "core"; + networking.enableIPv6 = false; + time.timeZone = "Asia/Tehran"; + + hardware = { + graphics.enable = true; + nvidia = { + modesetting.enable = true; + powerManagement.enable = true; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + + bluetooth.enable = true; + bluetooth.powerOnBoot = true; + }; + + security = { + sudo.enable = false; + security.doas = { + enable = true; + extraRules = [{ users = [ "coast" ]; keepEnv = true; persist = true; }]; + }; + }; + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.coast = import ./home.nix; + home-manager.backupFileExtension = "home-backup"; + }; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; +} diff --git a/etc/nixos/configuration.nix b/etc/nixos/create.nix similarity index 57% rename from etc/nixos/configuration.nix rename to etc/nixos/create.nix index 1602390..5f6d556 100644 --- a/etc/nixos/configuration.nix +++ b/etc/nixos/create.nix @@ -1,14 +1,4 @@ { config, pkgs, ... }: { - imports = [ ./hardware-configuration.nix ]; - - boot = { - loader.systemd-boot.enable = true; - loader.efi.canTouchEfiVariables = true; - }; - - networking.hostName = "core"; - networking.enableIPv6 = false; - time.timeZone = "Asia/Tehran"; xdg.portal.enable = true; xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-wlr ]; @@ -38,15 +28,6 @@ shell = pkgs.zsh; }; - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - - security.sudo.enable = false; - security.doas = { - enable = true; - extraRules = [{ users = [ "coast" ]; keepEnv = true; persist = true; }]; - }; - programs = { zsh.enable = true; zsh.syntaxHighlighting.enable = true; @@ -64,16 +45,7 @@ nerd-fonts.jetbrains-mono ]; - hardware.graphics.enable = true; - hardware.nvidia = { - modesetting.enable = true; - powerManagement.enable = false; - open = false; - nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; services.openssh.enable = true; system.stateVersion = "25.05"; } diff --git a/etc/nixos/flake.nix b/etc/nixos/flake.nix index b0dfb89..75b1763 100644 --- a/etc/nixos/flake.nix +++ b/etc/nixos/flake.nix @@ -14,13 +14,10 @@ nixosConfigurations.core = nixpkgs.lib.nixosSystem { inherit system; modules = [ - ./configuration.nix - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.coast = import ./home.nix; - home-manager.backupFileExtension = "backup"; - } { environment.systemPackages = with pkgs; [ + ./compose.nix + ./create.nix + { + environment.systemPackages = with pkgs; [ (lib.hiPrio pkgs-unstable.uutils-coreutils-noprefix) (pkgs.runCommand "vim-wrapper" { } '' mkdir -p $out/bin; ln -s ${pkgs.neovim}/bin/nvim $out/bin/vim '') pkgs-unstable.firefox