introduce desktop config

This commit is contained in:
Den Afanasyev 2025-12-26 00:05:27 +03:00
parent b202dc94f7
commit 70b8f31f34
5 changed files with 91 additions and 31 deletions

62
flake.lock generated
View file

@ -3,16 +3,16 @@
"brew-src": {
"flake": false,
"locked": {
"lastModified": 1758543057,
"narHash": "sha256-lw3V2jOGYphUFHYQ5oARcb6urlbNpUCLJy1qhsGdUmc=",
"lastModified": 1763638478,
"narHash": "sha256-n/IMowE9S23ovmTkKX7KhxXC2Yq41EAVFR2FBIXPcT8=",
"owner": "Homebrew",
"repo": "brew",
"rev": "5b236456eb93133c2bd0d60ef35ed63f1c0712f6",
"rev": "fbfdbaba008189499958a7aeb1e2c36ab10c067d",
"type": "github"
},
"original": {
"owner": "Homebrew",
"ref": "4.6.12",
"ref": "5.0.3",
"repo": "brew",
"type": "github"
}
@ -20,11 +20,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1765121682,
"narHash": "sha256-4VBOP18BFeiPkyhy9o4ssBNQEvfvv1kXkasAYd0+rrA=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3",
"type": "github"
},
"original": {
@ -40,11 +40,11 @@
]
},
"locked": {
"lastModified": 1761005073,
"narHash": "sha256-r6qbieh8iC1q1eCaWv15f4UIp8SeGffwswhNSA1Qk3s=",
"lastModified": 1766682973,
"narHash": "sha256-GKO35onS711ThCxwWcfuvbIBKXwriahGqs+WZuJ3v9E=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "84e1adb0cdd13f5f29886091c7234365e12b1e7f",
"rev": "91cdb0e2d574c64fae80d221f4bf09d5592e9ec2",
"type": "github"
},
"original": {
@ -72,11 +72,11 @@
"homebrew-cask": {
"flake": false,
"locked": {
"lastModified": 1761041338,
"narHash": "sha256-nPPQWR1MXoGCbrkRPzjOLTzgAfbw1yedqw4IIP6rweA=",
"lastModified": 1766691283,
"narHash": "sha256-tFf99qPCY0s4G1k0A4Sq17IkNnOA4CwrvcVzLNPYRTE=",
"owner": "homebrew",
"repo": "homebrew-cask",
"rev": "2f2587d6d3432c35d23b0933ee9badb9caf1179b",
"rev": "98be89a574dcd9a749a7766e105c4d9aa8fc5ca9",
"type": "github"
},
"original": {
@ -88,11 +88,11 @@
"homebrew-core": {
"flake": false,
"locked": {
"lastModified": 1761041429,
"narHash": "sha256-x7mhT2JeMpRbFrT6X3NHDdRADjIANXG2tskRfx8WqNA=",
"lastModified": 1766684753,
"narHash": "sha256-eN1yT7TFwHX3DzqrcKy/IG7I5ns3C/b9Pidy9Ko0DN0=",
"owner": "homebrew",
"repo": "homebrew-core",
"rev": "8de65e50e0df3c71b8f3f1a642b10c0192507db7",
"rev": "ad250e623e36a4b37238ab97047a15c1b183a7f4",
"type": "github"
},
"original": {
@ -108,11 +108,11 @@
]
},
"locked": {
"lastModified": 1760721282,
"narHash": "sha256-aAHphQbU9t/b2RRy2Eb8oMv+I08isXv2KUGFAFn7nCo=",
"lastModified": 1766524813,
"narHash": "sha256-N/sxS27+t9nGvGWqwwAceSMW/Y5ddcypS/aiTnZ7ScA=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "c3211fcd0c56c11ff110d346d4487b18f7365168",
"rev": "c2b36207f2c396c79dbed9d40536db221bd4e363",
"type": "github"
},
"original": {
@ -127,11 +127,11 @@
"brew-src": "brew-src"
},
"locked": {
"lastModified": 1758598228,
"narHash": "sha256-qr60maXGbZ4FX5tejPRI3nr0bnRTnZ3AbbbfO6/6jq4=",
"lastModified": 1764473698,
"narHash": "sha256-C91gPgv6udN5WuIZWNehp8qdLqlrzX6iF/YyboOj6XI=",
"owner": "zhaofengli",
"repo": "nix-homebrew",
"rev": "f36e5db56e117f7df701ab152d0d2036ea85218c",
"rev": "6a8ab60bfd66154feeaa1021fc3b32684814a62a",
"type": "github"
},
"original": {
@ -148,11 +148,11 @@
]
},
"locked": {
"lastModified": 1760536587,
"narHash": "sha256-wfWqt+igns/VazjPLkyb4Z/wpn4v+XIjUeI3xY/1ENg=",
"lastModified": 1765841014,
"narHash": "sha256-55V0AJ36V5Egh4kMhWtDh117eE3GOjwq5LhwxDn9eHg=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "f98ee1de1fa36eca63c67b600f5d617e184e82ea",
"rev": "be4af8042e7a61fa12fda58fe9a3b3babdefe17b",
"type": "github"
},
"original": {
@ -164,11 +164,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1760878510,
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
"lastModified": 1766651565,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
"type": "github"
},
"original": {
@ -198,11 +198,11 @@
]
},
"locked": {
"lastModified": 1760998189,
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"lastModified": 1766289575,
"narHash": "sha256-BOKCwOQQIP4p9z8DasT5r+qjri3x7sPCOq+FTjY8Z+o=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"rev": "9836912e37aef546029e48c8749834735a6b9dad",
"type": "github"
},
"original": {

View file

@ -47,6 +47,20 @@
home-manager,
sops-nix,
}:
let
# Define the systems you support
supportedSystems = [ "x86_64-linux" "aarch64-darwin" ];
# Helper function to generate pkgs for a given system
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
# Create a pkgs set for each system, using your flake's nixpkgs input
# This ensures all configurations (NixOS, darwin, home-manager) use the SAME pinned Nixpkgs version
nixpkgsFor = system: import nixpkgs {
inherit system;
config.allowUnfree = true; # Example: allow unfree packages if needed
};
in
{
darwinConfigurations."Dens-MacBook" = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
@ -79,6 +93,15 @@
};
darwinPackages = self.darwinConfigurations."Dens-MacBook".pkgs;
homeConfigurations = {
dens-desktop = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgsFor "x86_64-linux";
modules = [
./hosts/desktop/home.nix
];
};
};
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";

View file

@ -0,0 +1,6 @@
{ ... }:
{
#Disable nix managment, since we use nix-determinate
nix.enable = false;
}

29
hosts/desktop/home.nix Normal file
View file

@ -0,0 +1,29 @@
{ ... }:
{
imports = [
../../modules/common.nix
../../modules/programs/bat.nix
../../modules/programs/eza.nix
../../modules/programs/fzf.nix
../../modules/programs/git.nix
../../modules/programs/k9s.nix
../../modules/programs/micro.nix
../../modules/programs/ssh.nix
../../modules/programs/zoxide.nix
../../modules/programs/zsh.nix
];
programs.ssh.matchBlocks."*".extraOptions = {
SetEnv = "TERM=xterm-256color";
};
programs.zsh = {
localVariables = {
SSH_AUTH_SOCK = "/home/duumxh/.bitwarden-ssh-agent.sock";
};
shellAliases = {
nix-upgrade = "home-manager switch --flake ~/.nix";
};
};
}

View file

@ -31,6 +31,8 @@
rclone
];
stateVersion = "25.11";
username = "duumxh";
homeDirectory = "/home/duumxh";
};
#nixpkgs.config.allowUnfree = true; # It's better to put this in configuration.nix or a more specific place if it's only meant for certain hosts.