Compare commits
2 Commits
hm-standal
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 9eea820f3b | |||
| 257fab9832 |
18
flake.lock
generated
18
flake.lock
generated
@@ -64,11 +64,11 @@
|
|||||||
"zon2nix": "zon2nix"
|
"zon2nix": "zon2nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761172581,
|
"lastModified": 1761933492,
|
||||||
"narHash": "sha256-uX8FzMlRt15kvs4pPuOHZeQe1wztQXTEWOVtB2EwmB0=",
|
"narHash": "sha256-DNGhpvYt6dVbkDse4s/L/jJvejvOV0bs+YWfAAskJ7g=",
|
||||||
"owner": "ghostty-org",
|
"owner": "ghostty-org",
|
||||||
"repo": "ghostty",
|
"repo": "ghostty",
|
||||||
"rev": "bdbda2fd8380b440508246bcda0bf1198f6666e4",
|
"rev": "765ee6842930f0d6918574b9b87c2ee6583e4727",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -142,11 +142,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761016216,
|
"lastModified": 1761597516,
|
||||||
"narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
|
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
|
"rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -187,11 +187,11 @@
|
|||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761100675,
|
"lastModified": 1761964689,
|
||||||
"narHash": "sha256-LX3TCDBeNpCWTDXtGyRASVcLmRPChSli34bgHnZ1DCw=",
|
"narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "72161c6c53f6e3f8dadaf54b2204a5094c6a16ae",
|
"rev": "63d22578600f70d293aede6bc737efef60ebd97f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
28
flake.nix
28
flake.nix
@@ -34,7 +34,8 @@
|
|||||||
myOverlays = { ... }: {
|
myOverlays = { ... }: {
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
rust-overlay.overlays.default
|
rust-overlay.overlays.default
|
||||||
] ++ (nixpkgs.lib.attrValues self.common.overlays);
|
self.common.overlays
|
||||||
|
];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
meta = import ./meta;
|
meta = import ./meta;
|
||||||
@@ -49,7 +50,7 @@
|
|||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit userName userEmail ghostty;
|
inherit userName userEmail ghostty;
|
||||||
hostname = "sephiroth";
|
hostname = "sephiroth";
|
||||||
role = "workstation";
|
role = "devel";
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
myOverlays
|
myOverlays
|
||||||
@@ -60,8 +61,7 @@
|
|||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = false; };
|
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||||
# home-manager.extraSpecialArgs = extraSpecialArgs;
|
|
||||||
home-manager.backupFileExtension = "bak";
|
home-manager.backupFileExtension = "bak";
|
||||||
home-manager.users.${userName} = import ./home;
|
home-manager.users.${userName} = import ./home;
|
||||||
}
|
}
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit userName userEmail ghostty;
|
inherit userName userEmail ghostty;
|
||||||
hostname = "cloud";
|
hostname = "cloud";
|
||||||
role = "workstation";
|
role = "devel";
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
myOverlays
|
myOverlays
|
||||||
@@ -150,23 +150,5 @@
|
|||||||
# }
|
# }
|
||||||
# ];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# generic non-NixOS Linux machine
|
|
||||||
homeConfigurations."generic" = let
|
|
||||||
hostname = builtins.getEnv "HOSTNAME";
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
in home-manager.lib.homeManagerConfiguration {
|
|
||||||
inherit pkgs;
|
|
||||||
# system = "x86_64-linux";
|
|
||||||
extraSpecialArgs = extraSpecialArgs // {
|
|
||||||
isNixOS = false;
|
|
||||||
hostname = hostname;
|
|
||||||
role = "workstation";
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
myOverlays
|
|
||||||
./home
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
isNixOS,
|
|
||||||
role,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
@@ -11,7 +9,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
enable = pkgs.stdenv.isLinux && isNixOS;
|
enable = pkgs.stdenv.isLinux;
|
||||||
package = pkgs.ungoogled-chromium.override {
|
package = pkgs.ungoogled-chromium.override {
|
||||||
enableWideVine = true;
|
enableWideVine = true;
|
||||||
commandLineArgs = [
|
commandLineArgs = [
|
||||||
@@ -42,14 +40,31 @@
|
|||||||
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
|
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
|
||||||
sha256 = "sha256:0pdh1v0vx1d5vnl1zh7nbk6j1fh4k4hhwp1ljs203icn306lahsn";
|
sha256 = "sha256:0pdh1v0vx1d5vnl1zh7nbk6j1fh4k4hhwp1ljs203icn306lahsn";
|
||||||
# sha256 = lib.fakeSha256;
|
# sha256 = lib.fakeSha256;
|
||||||
version = "1.64.0";
|
version = "1.67.0";
|
||||||
})
|
})
|
||||||
(createChromiumExtension {
|
(createChromiumExtension {
|
||||||
# bitwarden
|
# bitwarden
|
||||||
id = "nngceckbapebfimnlniiiahkandclblb";
|
id = "nngceckbapebfimnlniiiahkandclblb";
|
||||||
sha256 = "sha256:0jxk3cqmgd5qj8hnw7s0k5s4bfrcmr0w0rckp3x0bmng07azw4gi";
|
sha256 = "sha256:0jxk3cqmgd5qj8hnw7s0k5s4bfrcmr0w0rckp3x0bmng07azw4gi";
|
||||||
# sha256 = lib.fakeSha256;
|
version = "2025.10.0";
|
||||||
version = "2025.5.0";
|
})
|
||||||
|
(createChromiumExtension {
|
||||||
|
# react dev tools
|
||||||
|
id = "fmkadmapgofadopljbjfkapdkoienihi";
|
||||||
|
sha256 = "sha256:01vy0x7hdkj4g3m2l4kw5rwldhhpkcxmd2miy5rj2dzxdnbchw2z";
|
||||||
|
version = "7.0.1";
|
||||||
|
})
|
||||||
|
(createChromiumExtension {
|
||||||
|
# wappalyzer
|
||||||
|
id = "gppongmhjkpfnbhagpmjfkannfbllamg";
|
||||||
|
sha256 = "sha256:1mi1wpm714r8yp0zh0yg6kccnld36rj4xb8j4y0c18y9176vc6wx";
|
||||||
|
version = "6.10.86";
|
||||||
|
})
|
||||||
|
(createChromiumExtension {
|
||||||
|
# obsidian web clipper
|
||||||
|
id = "cnjifjpddelmedmihgijeibhnjfabmlf";
|
||||||
|
sha256 = "sha256:0bp6g63g9hk2xbq054lpf5hzwmn73jzh3hswyjfp9r7yqj83mzgy";
|
||||||
|
version = "0.12.0";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,36 +1,44 @@
|
|||||||
{ lib
|
{
|
||||||
, pkgs
|
lib,
|
||||||
, userName
|
pkgs,
|
||||||
, userEmail
|
userName,
|
||||||
, ghostty
|
userEmail,
|
||||||
, isNixOS ? true
|
ghostty,
|
||||||
, role
|
...
|
||||||
, ...
|
}: let
|
||||||
}:
|
# Have a file sturcture that holds all the configuration files that can't be configured by Nix
|
||||||
let
|
# or maybe I'm too lazy to do anything about it? I dunno
|
||||||
# Have a file structure that holds all the configuration files that can't be configured by Nix
|
|
||||||
dirs = {
|
dirs = {
|
||||||
defaults = ../defaults;
|
defaults = ../defaults;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# Import sub modules
|
# Import sub modules
|
||||||
imports = [
|
imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
|
||||||
|
./atuin.nix
|
||||||
|
./shell.nix
|
||||||
./packages
|
./packages
|
||||||
|
./git.nix
|
||||||
|
./starship.nix
|
||||||
|
./eza.nix
|
||||||
|
./neovim.nix
|
||||||
|
./direnv.nix
|
||||||
|
./sway.nix
|
||||||
|
./terminal.nix
|
||||||
|
./browser.nix
|
||||||
|
./zellij.nix
|
||||||
|
./bat.nix
|
||||||
|
./lazygit.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home = lib.mkMerge [
|
# Home Manager needs a bit of information about you and the
|
||||||
{
|
# paths it should manage.
|
||||||
|
home = {
|
||||||
username = userName;
|
username = userName;
|
||||||
homeDirectory =
|
homeDirectory =
|
||||||
if pkgs.stdenv.isDarwin
|
if pkgs.stdenv.isDarwin
|
||||||
then "/Users/${userName}"
|
then "/Users/${userName}"
|
||||||
else "/home/${userName}";
|
else "/home/${userName}";
|
||||||
|
|
||||||
stateVersion = "24.11";
|
|
||||||
}
|
|
||||||
|
|
||||||
(lib.mkIf isNixOS {
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
XDG_CURRENT_DESKTOP = "sway";
|
XDG_CURRENT_DESKTOP = "sway";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
@@ -41,17 +49,16 @@ in
|
|||||||
XDG_STATE_HOME = "$HOME/.local/state";
|
XDG_STATE_HOME = "$HOME/.local/state";
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
};
|
};
|
||||||
})
|
|
||||||
|
|
||||||
(lib.mkIf pkgs.stdenv.isLinux {
|
pointerCursor = lib.mkIf pkgs.stdenv.isLinux {
|
||||||
pointerCursor = {
|
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
package = pkgs.catppuccin-cursors.mochaDark;
|
package = pkgs.catppuccin-cursors.mochaDark;
|
||||||
name = "catppuccin-mocha-dark-cursors";
|
name = "catppuccin-mocha-dark-cursors";
|
||||||
size = 22;
|
size = 22;
|
||||||
};
|
};
|
||||||
})
|
|
||||||
];
|
stateVersion = "24.11";
|
||||||
|
};
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|||||||
32
home/k9s.nix
32
home/k9s.nix
@@ -1,32 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
programs.k9s = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.k9sLatest;
|
|
||||||
settings.k9s = {
|
|
||||||
refreshRate = "2s";
|
|
||||||
liveViewAutoRefresh = false;
|
|
||||||
apiServerTimeout = "30s";
|
|
||||||
maxConnRetry = 5;
|
|
||||||
readOnly = true;
|
|
||||||
noExitOnCtrlC = false;
|
|
||||||
portForwardAddress = "localhost";
|
|
||||||
skipLatestRevCheck = false;
|
|
||||||
|
|
||||||
skin = {
|
|
||||||
catppuccin-mocha = ./defaults/k9s/catppuccin-mocha.yml;
|
|
||||||
};
|
|
||||||
|
|
||||||
ui = {
|
|
||||||
skin = "catppuccin-mocha";
|
|
||||||
enableMouse = true;
|
|
||||||
headless = false;
|
|
||||||
logoless = true;
|
|
||||||
crumbsless = false;
|
|
||||||
splashless = true;
|
|
||||||
reactive = false;
|
|
||||||
noIcons = false;
|
|
||||||
defaultsToFullscreen = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{ pkgs, lib, ... }:
|
|
||||||
with pkgs;
|
|
||||||
let
|
|
||||||
plugins = writeText "plugins" ''
|
|
||||||
krew
|
|
||||||
oidc-login
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
home.activation.krew = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
|
||||||
$DRY_RUN_CMD ${krewfile}/bin/krewfile -command ${krew}/bin/krew -file ${plugins}
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,19 +1,10 @@
|
|||||||
{
|
{
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
|
||||||
../atuin.nix
|
|
||||||
../shell.nix
|
|
||||||
../git.nix
|
|
||||||
../starship.nix
|
|
||||||
../eza.nix
|
|
||||||
../neovim.nix
|
|
||||||
../bat.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
yazi # terminal file manager
|
||||||
|
|
||||||
# archives
|
# archives
|
||||||
zip
|
zip
|
||||||
xz
|
xz
|
||||||
@@ -21,22 +12,39 @@
|
|||||||
p7zip
|
p7zip
|
||||||
|
|
||||||
# utils
|
# utils
|
||||||
yazi
|
|
||||||
tmux
|
tmux
|
||||||
bottom
|
bottom
|
||||||
ripgrep
|
ripgrep
|
||||||
jq
|
jq
|
||||||
yq-go
|
yq-go
|
||||||
fzf
|
fzf
|
||||||
|
fh
|
||||||
aria2
|
aria2
|
||||||
gnupg
|
yt-dlp
|
||||||
|
obsidian
|
||||||
|
vscode
|
||||||
|
weechat
|
||||||
inetutils
|
inetutils
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
|
cowsay
|
||||||
file
|
file
|
||||||
which
|
which
|
||||||
tree
|
tree
|
||||||
gnutar
|
gnutar
|
||||||
|
gnupg
|
||||||
|
zoxide
|
||||||
babelfish
|
babelfish
|
||||||
|
|
||||||
|
# language-specific package managers
|
||||||
|
nodejs
|
||||||
|
cargo
|
||||||
|
python3
|
||||||
|
|
||||||
|
# nix specific stuff
|
||||||
|
nixd
|
||||||
|
deadnix
|
||||||
|
alejandra
|
||||||
|
statix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [
|
||||||
discord
|
discord
|
||||||
ollama
|
ollama
|
||||||
];
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
{ pkgs, lib, role, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
pkgs,
|
||||||
[ ./common.nix ]
|
lib,
|
||||||
++ lib.optional pkgs.stdenv.isDarwin ./darwin.nix
|
...
|
||||||
++ lib.optional pkgs.stdenv.isLinux ./linux.nix
|
}: {
|
||||||
++ lib.optional (role == "workstation") ./workstation.nix
|
imports = [
|
||||||
++ lib.optional (role == "server") ./server.nix;
|
./common.nix
|
||||||
|
./darwin.nix
|
||||||
|
./linux.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [
|
||||||
imv
|
imv
|
||||||
betterdiscordctl
|
betterdiscordctl
|
||||||
vesktop
|
vesktop
|
||||||
@@ -15,5 +16,5 @@
|
|||||||
gpu-screen-recorder
|
gpu-screen-recorder
|
||||||
gpu-screen-recorder-gtk
|
gpu-screen-recorder-gtk
|
||||||
# ungoogled-chromium
|
# ungoogled-chromium
|
||||||
];
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
dirs,
|
|
||||||
userName,
|
|
||||||
userEmail,
|
|
||||||
ghostty,
|
|
||||||
isNixOS,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = map (module: import module { inherit lib pkgs dirs userName userEmail ghostty isNixOS; }) [
|
|
||||||
../terminal.nix
|
|
||||||
../broswer.nix
|
|
||||||
../zellij.nix
|
|
||||||
../lazygit.nix
|
|
||||||
../k9s.nix
|
|
||||||
../krew.nix
|
|
||||||
../direnv.nix
|
|
||||||
] ++ lib.optional isNixOS [
|
|
||||||
../sway.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
fh
|
|
||||||
kubectl # kube config is deliberately not included
|
|
||||||
kubectx
|
|
||||||
obsidian
|
|
||||||
vscode
|
|
||||||
yt-dlp
|
|
||||||
weechat
|
|
||||||
nodejs
|
|
||||||
cargo
|
|
||||||
python3
|
|
||||||
nixd
|
|
||||||
deadnix
|
|
||||||
alejandra
|
|
||||||
statix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ghostty, ... }: {
|
{ lib, pkgs, ghostty, ... }: {
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = pkgs.stdenv.isLinux;
|
enable = pkgs.stdenv.isLinux;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -47,18 +47,4 @@ in {
|
|||||||
mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
|
mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
k9sLatest = prev.k9s.overrideAttrs (oldAttrs: rec {
|
|
||||||
version = "0.30.16";
|
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "derailed";
|
|
||||||
repo = "k9s";
|
|
||||||
rev = "v${version}";
|
|
||||||
hash = "sha256-1z6r6v3n1p6vd2q6n4pl5q3f7q3q7q1p7j5j1k3l4m5n6o7p8q9r";
|
|
||||||
};
|
|
||||||
ldflags = [
|
|
||||||
"-X github.com/derailed/k9s/version.Version=${version}"
|
|
||||||
"-X github.com/derailed/k9s/version.BuildSource=nix"
|
|
||||||
];
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user