From 495ff20b6610438e698330e937ddb3bc2b51fe6d Mon Sep 17 00:00:00 2001 From: Zeusina Date: Tue, 7 Jul 2026 11:17:02 +0300 Subject: [PATCH 01/15] feat:(kachu-pc) enable fuse --- hosts/kachu-pc/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 52865d6..b4e60d3 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -165,6 +165,8 @@ kdePackages.kio-fuse ]; + fileSystems."fuse" = {fsType = "fuse";}; + programs.nix-ld.enable = true; programs.nix-ld.libraries = with pkgs; [ ]; From 56d25151f423970fb436c7c5d4f97ec9744eb89a Mon Sep 17 00:00:00 2001 From: Zeusina Date: Tue, 7 Jul 2026 11:18:51 +0300 Subject: [PATCH 02/15] fix(kachu-pc): :bug: fixed fuse enable --- hosts/kachu-pc/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index b4e60d3..00bf1b8 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -165,7 +165,7 @@ kdePackages.kio-fuse ]; - fileSystems."fuse" = {fsType = "fuse";}; + programs.fuse.enable = true; programs.nix-ld.enable = true; programs.nix-ld.libraries = with pkgs; [ From 3d4d644bba80cbd0668dcd083c9e75cb38de0bd1 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Tue, 7 Jul 2026 12:53:26 +0300 Subject: [PATCH 03/15] feat(kachu-pc): :sparkles: install kio-extras for kio-fuse --- hosts/kachu-pc/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 00bf1b8..8d2aa02 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -163,6 +163,7 @@ vscode git-credential-manager kdePackages.kio-fuse + kdePackages.kio-extras ]; programs.fuse.enable = true; From c3d8c73b45133f150530c3679bb70f22f56436ba Mon Sep 17 00:00:00 2001 From: Zeusina Date: Tue, 7 Jul 2026 13:36:52 +0300 Subject: [PATCH 04/15] feat(kachu-pc): :sparkles: install kio --- hosts/kachu-pc/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 8d2aa02..07872d0 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -162,6 +162,7 @@ sddm-astronaut-theme vscode git-credential-manager + kdePackages.kio kdePackages.kio-fuse kdePackages.kio-extras ]; From 87cd737819f5bb9be618d7e3a663ded53ce81f78 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Tue, 7 Jul 2026 19:40:45 +0300 Subject: [PATCH 05/15] =?UTF-8?q?feat(kachu-pc):=20=E2=9C=A8=20install=20m?= =?UTF-8?q?onaco=20nerd=20font?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flake.nix | 4 ++++ hosts/kachu-pc/configuration.nix | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/flake.nix b/flake.nix index 961d4b6..84300e2 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,10 @@ nix-darwin.url = "github:nix-darwin/nix-darwin/master"; # nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; spicetify-nix.url = "github:Gerg-L/spicetify-nix"; + monaco-nerd-font = { + url = "github:thep0y/monaco-nerd-font"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ { diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 07872d0..3a81d9d 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -173,6 +173,10 @@ programs.nix-ld.libraries = with pkgs; [ ]; + fonts.packages = [ + inputs.monaco-nerd-font.packages.${pkgs.system}.default + ]; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; From afe5d4b32a5efdb258e44643e042d493c2832b36 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Tue, 7 Jul 2026 19:58:48 +0300 Subject: [PATCH 06/15] fix(kachu-pc): :bug: fixed not building flake --- flake.lock | 74 +++++++++++++++++++++++++++++++- flake.nix | 2 +- hosts/kachu-pc/configuration.nix | 3 +- 3 files changed, 76 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 74861db..096d0b4 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,61 @@ { "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "monaco": { + "flake": false, + "locked": { + "lastModified": 1777439408, + "narHash": "sha256-5pvFE59tvoap/ef+WSSvNRE+I/jqc8HTaicJRBSJRZE=", + "owner": "thep0y", + "repo": "monaco-nerd-font", + "rev": "80bde404d1a3114901e503487f1682279d3cfc13", + "type": "github" + }, + "original": { + "owner": "thep0y", + "repo": "monaco-nerd-font", + "type": "github" + } + }, + "monaco-nerd-font": { + "inputs": { + "flake-utils": "flake-utils", + "monaco": "monaco", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1777439408, + "narHash": "sha256-5pvFE59tvoap/ef+WSSvNRE+I/jqc8HTaicJRBSJRZE=", + "owner": "thep0y", + "repo": "monaco-nerd-font", + "rev": "80bde404d1a3114901e503487f1682279d3cfc13", + "type": "github" + }, + "original": { + "owner": "thep0y", + "repo": "monaco-nerd-font", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": "nixpkgs" @@ -66,6 +122,7 @@ }, "root": { "inputs": { + "monaco-nerd-font": "monaco-nerd-font", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_2", "spicetify-nix": "spicetify-nix" @@ -74,7 +131,7 @@ "spicetify-nix": { "inputs": { "nixpkgs": "nixpkgs_3", - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1782898510, @@ -104,6 +161,21 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 84300e2..cd9b64c 100644 --- a/flake.nix +++ b/flake.nix @@ -16,7 +16,7 @@ self, nix-darwin, nixpkgs, - spicetify-nix, + ... }: let systems = ["x86_64-linux" "aarch64-darwin"]; forAllSystems = nixpkgs.lib.genAttrs systems; diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 3a81d9d..036c1df 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -4,6 +4,7 @@ { config, pkgs, + inputs, ... }: { nixpkgs.overlays = [ @@ -174,7 +175,7 @@ ]; fonts.packages = [ - inputs.monaco-nerd-font.packages.${pkgs.system}.default + inputs.monaco-nerd-font.packages.${pkgs.system}.monaco ]; # Some programs need SUID wrappers, can be configured further or are From eb440583975235e20323fd46d8130ee276e70cdc Mon Sep 17 00:00:00 2001 From: Zeusina Date: Thu, 9 Jul 2026 14:16:43 +0300 Subject: [PATCH 07/15] feat(kachu-pc): :sparkles: remove koi & install orca-slicer --- hosts/kachu-pc/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 036c1df..27f72c4 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -122,7 +122,6 @@ eza kdePackages.sddm-kcm alejandra - kdePackages.koi v2rayn telegram-desktop (prismlauncher.override { @@ -130,6 +129,7 @@ temurin-bin-21 ]; }) + orca-slicer ]; shell = pkgs.zsh; }; From c799aa9177e056c0e6c41d6aecd064c61fff64c9 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Thu, 9 Jul 2026 14:33:27 +0300 Subject: [PATCH 08/15] fix(kachu-pc): :bug: fix orca slicer non working fonts --- drvs/orca-slicer.nix | 13 +++++++++++++ hosts/kachu-pc/configuration.nix | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 drvs/orca-slicer.nix diff --git a/drvs/orca-slicer.nix b/drvs/orca-slicer.nix new file mode 100644 index 0000000..7e852fa --- /dev/null +++ b/drvs/orca-slicer.nix @@ -0,0 +1,13 @@ +# orca-slicer.nix +{pkgs}: +pkgs.symlinkJoin { + name = "orca-slicer-wayland"; + paths = [pkgs.orca-slicer]; + buildInputs = [pkgs.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/orca-slicer \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pkgs.gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-good}/lib/gstreamer-1.0" \ + --set GDK_BACKEND x11 \ + --set GBM_BACKEND dri + ''; +} diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 27f72c4..8c1c13d 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -129,7 +129,7 @@ temurin-bin-21 ]; }) - orca-slicer + (callPackage ../../drvs/orca-slicer.nix {}) ]; shell = pkgs.zsh; }; From 6f147737c57bfd28689b92e98947d525e359ad22 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Thu, 9 Jul 2026 14:34:10 +0300 Subject: [PATCH 09/15] docs(kachu-pc): :memo: added comment on orca slicer --- drvs/orca-slicer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drvs/orca-slicer.nix b/drvs/orca-slicer.nix index 7e852fa..acf05ed 100644 --- a/drvs/orca-slicer.nix +++ b/drvs/orca-slicer.nix @@ -9,5 +9,5 @@ pkgs.symlinkJoin { --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pkgs.gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-good}/lib/gstreamer-1.0" \ --set GDK_BACKEND x11 \ --set GBM_BACKEND dri - ''; + ''; # На данный момент не работает на wayland } From be378993b9fdc20d37878d7ace58bed62fd94a82 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Thu, 9 Jul 2026 15:10:09 +0300 Subject: [PATCH 10/15] fix(kachu-pc): :bug: fix orca portal usage --- drvs/orca-slicer.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drvs/orca-slicer.nix b/drvs/orca-slicer.nix index acf05ed..0c3bf62 100644 --- a/drvs/orca-slicer.nix +++ b/drvs/orca-slicer.nix @@ -7,6 +7,8 @@ pkgs.symlinkJoin { postBuild = '' wrapProgram $out/bin/orca-slicer \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pkgs.gst_all_1.gst-plugins-base}/lib/gstreamer-1.0:${pkgs.gst_all_1.gst-plugins-good}/lib/gstreamer-1.0" \ + --prefix XDG_DATA_DIRS : "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}" \ + --set GTK_USE_PORTAL 1 \ --set GDK_BACKEND x11 \ --set GBM_BACKEND dri ''; # На данный момент не работает на wayland From 0e423ae331e59e9e71002e4b55adfac969564b42 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Thu, 9 Jul 2026 17:59:44 +0300 Subject: [PATCH 11/15] feat(kachu-pc): :sparkles: enable auto nix store optimization --- hosts/kachu-pc/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/kachu-pc/configuration.nix b/hosts/kachu-pc/configuration.nix index 8c1c13d..e04b130 100644 --- a/hosts/kachu-pc/configuration.nix +++ b/hosts/kachu-pc/configuration.nix @@ -148,6 +148,7 @@ dates = "weekly"; # Запуск раз в неделю options = "--delete-older-than 7d"; # Удалять только то, что старше 7 дней }; + optimise.automatic = true; }; # Install firefox. programs.firefox.enable = true; From 2d609d62d309ad5c8a20ceffda570c18750bf22f Mon Sep 17 00:00:00 2001 From: Zeusina Date: Sat, 11 Jul 2026 18:35:56 +0300 Subject: [PATCH 12/15] feat(kachu-laptop): :sparkles: initial config --- flake.lock | 122 ++++++++++++ flake.nix | 13 ++ hosts/kachu-laptop/configuration.nix | 177 ++++++++++++++++++ hosts/kachu-laptop/hardware-configuration.nix | 77 ++++++++ 4 files changed, 389 insertions(+) create mode 100644 hosts/kachu-laptop/configuration.nix create mode 100644 hosts/kachu-laptop/hardware-configuration.nix diff --git a/flake.lock b/flake.lock index 096d0b4..c7f2a82 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,36 @@ { "nodes": { + "crane": { + "locked": { + "lastModified": 1781825982, + "narHash": "sha256-SlXKwIRIhrOSAcTjCB3ftPLzJWZStQIPS7J1FlZPnKk=", + "owner": "ipetkov", + "repo": "crane", + "rev": "469fd08d0bcf6926321fa973c6777fbc87785dd7", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -18,6 +49,52 @@ "type": "github" } }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "pre-commit", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "lanzaboote": { + "inputs": { + "crane": "crane", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit": "pre-commit", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1782141370, + "narHash": "sha256-hqijVSEETttmo8Okql9/LG0Ua34hdciKW1a5zzlj8mU=", + "owner": "nix-community", + "repo": "lanzaboote", + "rev": "7c9a54a7f87b4539ddbd8bda09a8a5f5f9361aa9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v1.1.0", + "repo": "lanzaboote", + "type": "github" + } + }, "monaco": { "flake": false, "locked": { @@ -120,14 +197,59 @@ "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, + "pre-commit": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781733627, + "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { + "lanzaboote": "lanzaboote", "monaco-nerd-font": "monaco-nerd-font", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs_2", "spicetify-nix": "spicetify-nix" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1782012058, + "narHash": "sha256-9mWUnReOUXfKjZuJAL/bAFH3LUyECTRtXgSNVjRw3UY=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "8534567325bd8a8d2928e6afd81e0a87d19efd3c", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "spicetify-nix": { "inputs": { "nixpkgs": "nixpkgs_3", diff --git a/flake.nix b/flake.nix index cd9b64c..b76fa5b 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,10 @@ url = "github:thep0y/monaco-nerd-font"; inputs.nixpkgs.follows = "nixpkgs"; }; + lanzaboote = { + url = "github:nix-community/lanzaboote/v1.1.0"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs @ { @@ -43,6 +47,15 @@ inputs.spicetify-nix.nixosModules.default ]; }; + "kachu-laptop" = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = {inherit inputs self;}; + modules = [ + inputs.lanzaboote.nixosModules.lanzaboote + ./hosts/kachu-laptop/hardware-configuration.nix + ./hosts/kachu-laptop/configuration.nix + ]; + }; }; }; } diff --git a/hosts/kachu-laptop/configuration.nix b/hosts/kachu-laptop/configuration.nix new file mode 100644 index 0000000..7a698ff --- /dev/null +++ b/hosts/kachu-laptop/configuration.nix @@ -0,0 +1,177 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). +{ + config, + lib, + pkgs, + ... +}: { + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = lib.mkForce false; + + boot.lanzaboote = { + enable = true; + pkiBundle = "/var/lib/sbctl"; + }; + boot.loader.efi.canTouchEfiVariables = true; + + # Use latest kernel. + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = "kachu-laptop"; # Define your hostname. + + # Configure network connections interactively with nmcli or nmtui. + networking.networkmanager.enable = true; + + services.desktopManager.plasma6.enable = true; + services.displayManager.sddm = { + enable = true; + wayland.enable = true; + extraPackages = with pkgs; [ + kdePackages.qtmultimedia # Required for video backgrounds/audio + ]; + }; + + services.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + security.polkit.enable = true; + security.sudo.wheelNeedsPassword = false; + nix = { + settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + }; + gc = { + automatic = true; # Включает автоматическую сборку мусора + dates = "weekly"; # Запуск раз в неделю + options = "--delete-older-than 7d"; # Удалять только то, что старше 7 дней + }; + optimise.automatic = true; + }; + + # Set your time zone. + time.timeZone = "Europe/Moscow"; + + i18n.defaultLocale = "en_US.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "ru_RU.UTF-8"; + LC_IDENTIFICATION = "ru_RU.UTF-8"; + LC_MEASUREMENT = "ru_RU.UTF-8"; + LC_MONETARY = "ru_RU.UTF-8"; + LC_NAME = "ru_RU.UTF-8"; + LC_NUMERIC = "ru_RU.UTF-8"; + LC_PAPER = "ru_RU.UTF-8"; + LC_TELEPHONE = "ru_RU.UTF-8"; + LC_TIME = "ru_RU.UTF-8"; + }; + + # Configure keymap in X11 + # services.xserver.xkb.layout = "us"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # services.pulseaudio.enable = true; + # OR + # services.pipewire = { + # enable = true; + # pulse.enable = true; + # }; + + # Enable touchpad support (enabled default in most desktopManager). + # services.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.kachu = { + isNormalUser = true; + extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + tree + git + starship + zoxide + fzf + wezterm + eza + kdePackages.sddm-kcm + alejandra + v2rayn + telegram-desktop + ]; + }; + + programs.firefox.enable = true; + + # List packages installed in system profile. + # You can use https://search.nixos.org/ to find more packages (and options). + nixpkgs.config.allowUnfree = true; + environment.systemPackages = with pkgs; [ + git + vscode + git-credential-manager + kdePackages.kio + kdePackages.kio-fuse + kdePackages.kio-extras + sbctl + ]; + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + # to actually do that. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "26.05"; # Did you read the comment? +} diff --git a/hosts/kachu-laptop/hardware-configuration.nix b/hosts/kachu-laptop/hardware-configuration.nix new file mode 100644 index 0000000..e7ee3f6 --- /dev/null +++ b/hosts/kachu-laptop/hardware-configuration.nix @@ -0,0 +1,77 @@ +# 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 = ["nvme" "xhci_pci" "thunderbolt" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.initrd.systemd.enable = true; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ + "subvol=@root" + "compress=zstd" + ]; + }; + + boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/86bd8c14-aa10-47bd-a609-11934a2dc8a0"; + + fileSystems."/swap" = { + device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = ["subvol=@swap"]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/8EC7-9595"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + + fileSystems."/nix" = { + device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ + "subvol=@nix" + "compress=zstd" + "noatime" + ]; + }; + + fileSystems."/home" = { + device = "/dev/mapper/crypted"; + fsType = "btrfs"; + options = [ + "subvol=@home" + "compress=zstd" + ]; + }; + + swapDevices = [ + { + device = "/swap/swapfile"; + size = 36864; + } + ]; + + boot.resumeDevice = "/dev/mapper/crypted"; + boot.kernelParams = [ + "resume_offset=533760" + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From 9ccff491494bac04cebf8e1881d1998f82413e02 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Sat, 11 Jul 2026 20:03:21 +0300 Subject: [PATCH 13/15] feat(kachu-laptop): :sparkles: install partial packages from pc --- hosts/kachu-laptop/configuration.nix | 43 +++++++++---------- hosts/kachu-laptop/hardware-configuration.nix | 19 ++++++++ 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/hosts/kachu-laptop/configuration.nix b/hosts/kachu-laptop/configuration.nix index 7a698ff..af11b2b 100644 --- a/hosts/kachu-laptop/configuration.nix +++ b/hosts/kachu-laptop/configuration.nix @@ -5,11 +5,17 @@ config, lib, pkgs, + inputs, ... }: { + nixpkgs.overlays = [ + (final: prev: { + wezterm = final.callPackage ../../drvs/wezterm-stable-bin.nix {}; + sddm-astronaut-theme = final.callPackage ../../drvs/sddm-astronaut-theme.nix {}; + }) + ]; + imports = [ - # Include the results of the hardware scan. - ./hardware-configuration.nix ]; # Use the systemd-boot EFI boot loader. @@ -81,25 +87,6 @@ LC_TIME = "ru_RU.UTF-8"; }; - # Configure keymap in X11 - # services.xserver.xkb.layout = "us"; - # services.xserver.xkb.options = "eurosign:e,caps:escape"; - - # Enable CUPS to print documents. - # services.printing.enable = true; - - # Enable sound. - # services.pulseaudio.enable = true; - # OR - # services.pipewire = { - # enable = true; - # pulse.enable = true; - # }; - - # Enable touchpad support (enabled default in most desktopManager). - # services.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.kachu = { isNormalUser = true; extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. @@ -116,6 +103,7 @@ v2rayn telegram-desktop ]; + shell = pkgs.zsh; }; programs.firefox.enable = true; @@ -132,6 +120,17 @@ kdePackages.kio-extras sbctl ]; + + programs.fuse.enable = true; + programs.zsh.enable = true; + + programs.nix-ld.enable = true; + programs.nix-ld.libraries = with pkgs; [ + ]; + + fonts.packages = [ + inputs.monaco-nerd-font.packages.${pkgs.system}.monaco + ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; @@ -149,7 +148,7 @@ # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. - # networking.firewall.enable = false; + networking.firewall.enable = false; # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you diff --git a/hosts/kachu-laptop/hardware-configuration.nix b/hosts/kachu-laptop/hardware-configuration.nix index e7ee3f6..794b927 100644 --- a/hosts/kachu-laptop/hardware-configuration.nix +++ b/hosts/kachu-laptop/hardware-configuration.nix @@ -74,4 +74,23 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + services.xserver.videoDrivers = ["nvidia" "amdgpu"]; + hardware.nvidia = { + open = true; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + powerManagement.enable = true; + powerManagement.finegrained = true; + + prime = { + offload = { + enable = true; + enableOffloadCmd = true; + }; + + amdgpuBusId = "PCI:0:36:0"; + nvidiaBusId = "PCI:0:1:0"; + }; + }; } From f8001b050d74d36387d9df9869039feddecf0db6 Mon Sep 17 00:00:00 2001 From: Zeusina Date: Sat, 11 Jul 2026 20:23:16 +0300 Subject: [PATCH 14/15] feat(kachu-laptop): :sparkles: add plymouth config --- hosts/kachu-laptop/configuration.nix | 33 +++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/hosts/kachu-laptop/configuration.nix b/hosts/kachu-laptop/configuration.nix index af11b2b..791a923 100644 --- a/hosts/kachu-laptop/configuration.nix +++ b/hosts/kachu-laptop/configuration.nix @@ -26,6 +26,33 @@ pkiBundle = "/var/lib/sbctl"; }; boot.loader.efi.canTouchEfiVariables = true; + boot.loader.timeout = 0; + boot.plymouth = { + enable = true; + theme = "bgrt"; + }; + + boot.kernelParams = [ + "quiet" + "splash" + "boot.shell_on_fail" + "loglevel=3" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + "nvidia-drm.fbdev=1" + ]; + + boot.consoleLogLevel = 0; + boot.initrd.verbose = false; + + boot.initrd.kernelModules = [ + "nvidia" + "nvidia_modeset" + "nvidia_uvm" + "nvidia_drm" + "amdgpu" + ]; # Use latest kernel. boot.kernelPackages = pkgs.linuxPackages_latest; @@ -89,7 +116,10 @@ users.users.kachu = { isNormalUser = true; - extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. + extraGroups = [ + "wheel" + "networkmanager" + ]; # Enable ‘sudo’ for the user. packages = with pkgs; [ tree git @@ -119,6 +149,7 @@ kdePackages.kio-fuse kdePackages.kio-extras sbctl + sddm-astronaut-theme ]; programs.fuse.enable = true; From e08e2f175df5b425d669c742c3db2330f4bfe2bc Mon Sep 17 00:00:00 2001 From: Zeusina Date: Sat, 11 Jul 2026 20:23:32 +0300 Subject: [PATCH 15/15] feat(kachu-laptop): :sparkles: add spicetify config --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flake.nix b/flake.nix index b76fa5b..472e39c 100644 --- a/flake.nix +++ b/flake.nix @@ -54,6 +54,8 @@ inputs.lanzaboote.nixosModules.lanzaboote ./hosts/kachu-laptop/hardware-configuration.nix ./hosts/kachu-laptop/configuration.nix + ./shared/programs/spicetify.nix + inputs.spicetify-nix.nixosModules.default ]; }; };