Compare commits

...

2 Commits

3 changed files with 311 additions and 159 deletions

View File

@ -1,105 +1,103 @@
{ pkgs, config, ... }:
{ pkgs, config, inputs, ... }:
let
dotsDir = "${config.home.homeDirectory}/.dot_files/dots";
softLinkDots = dir:
(builtins.listToAttrs (map
(n: {
name = "${dir + "/" + n}";
value = {
source = config.lib.file.mkOutOfStoreSymlink "${dotsDir}/${dir}/${n}";
force = true;
};
})
# HACK: We don't use the absolute path in readDir to respect pure evaluation in nix flakes.
(builtins.listToAttrs (map (n: {
name = "${dir + "/" + n}";
value = {
source = config.lib.file.mkOutOfStoreSymlink "${dotsDir}/${dir}/${n}";
force = true;
};
})
# HACK: We don't use the absolute path in readDir to respect pure evaluation in nix flakes.
(builtins.attrNames (builtins.readDir ../dots/${dir}))));
gtkStyle = "gtk2";
in
{
in {
programs.home-manager.enable = true;
home = {
packages = with pkgs; [
bob-nvim
emacs-pgtk
sqlite
luajit
imagemagick
dotnet-sdk_8
cargo
rustc
shellcheck
openjdk
go
nodejs
poetry
python3
ruby
yamllint
curl
openssh
openssl
wget
rsync
readline
git
gh
ffmpeg
silicon
man
jq
tectonic
fzf
delta
eza
nixd
luajit
ripgrep
fd
nixfmt
gtk2
lxappearance
webcord
gtk-engine-murrine
opensnitch-ui
twitter-color-emoji
open-sans
noto-fonts
fira-code
nerdfonts
direnv
passage
swappy
stylua
typstfmt
typst
hurl
] ++ [
gnumake
cmake
gcc
glibc
openssl.dev
glibc.static
llvm
llvmPackages.libcxxStdenv
];
packages = with pkgs;
[
bob-nvim
emacs-pgtk
sqlite
luajit
imagemagick
dotnet-sdk_8
cargo
rustc
shellcheck
openjdk
go
nodejs
poetry
python3
ruby
yamllint
curl
openssh
openssl
wget
rsync
readline
git
gh
ffmpeg
silicon
man
jq
tectonic
fzf
delta
eza
nixd
luajit
ripgrep
fd
nixfmt
gtk2
lxappearance
webcord
gtk-engine-murrine
opensnitch-ui
twitter-color-emoji
open-sans
noto-fonts
fira-code
nerdfonts
direnv
passage
swappy
stylua
typstfmt
typst
hurl
waybar
] ++ [ ansible ansible-lint ] ++ [
# gnumake
# cmake
# gcc
# glibc
# openssl.dev
# glibc.static
# llvm
# llvmPackages.libcxxStdenv
];
file =
{
".local/" = {
source = ../dots/.local;
recursive = true;
force = true;
};
".omnisharp" = {
source = ../dots/.omnisharp;
force = true;
};
".latexmkrc" = {
source = ../dots/.latexmkrc;
force = true;
};
} // softLinkDots ".config";
file = {
".local/" = {
source = ../dots/.local;
recursive = true;
force = true;
};
".omnisharp" = {
source = ../dots/.omnisharp;
force = true;
};
".latexmkrc" = {
source = ../dots/.latexmkrc;
force = true;
};
} // softLinkDots ".config";
sessionVariables = {
GTK_THEME = "Kanagawa-Borderless";
@ -131,43 +129,37 @@ in
};
};
gtk =
let
extraGtkConfig = {
gtk-application-prefer-dark-theme = true;
gtk-cursor-theme-size = 0;
gtk-enable-event-sounds = 1;
gtk-enable-input-feedback-sounds = 1;
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintfull";
};
in
{
enable = true;
theme = {
name = "Kanagawa-Borderless";
package = pkgs.kanagawa-gtk-theme;
};
iconTheme = {
name = "Kanagawa";
package = pkgs.kanagawa-gtk-theme;
};
font = {
name = "Open Sans";
size = 11;
package = pkgs.open-sans;
};
gtk3.extraConfig = extraGtkConfig;
gtk4.extraConfig = extraGtkConfig;
gtk = let
extraGtkConfig = {
gtk-application-prefer-dark-theme = true;
gtk-cursor-theme-size = 0;
gtk-enable-event-sounds = 1;
gtk-enable-input-feedback-sounds = 1;
gtk-xft-antialias = 1;
gtk-xft-hinting = 1;
gtk-xft-hintstyle = "hintfull";
};
services = {
cliphist = {
enable = true;
in {
enable = true;
theme = {
name = "Kanagawa-Borderless";
package = pkgs.kanagawa-gtk-theme;
};
iconTheme = {
name = "Kanagawa";
package = pkgs.kanagawa-gtk-theme;
};
font = {
name = "Open Sans";
size = 11;
package = pkgs.open-sans;
};
gtk3.extraConfig = extraGtkConfig;
gtk4.extraConfig = extraGtkConfig;
};
services = { cliphist = { enable = true; }; };
systemd.user = {
targets.compositor = {
Unit = {
@ -185,9 +177,7 @@ in
ConditionEnvironment = [ "WAYLAND_DISPLAY" ];
};
Service = {
ExecStart = "${pkgs.opensnitch-ui}/bin/opensnitch-ui";
};
Service = { ExecStart = "${pkgs.opensnitch-ui}/bin/opensnitch-ui"; };
environment = {
QT_QPA_PLATFORMTHEME = "${gtkStyle}";

View File

@ -22,11 +22,11 @@
"bob_2": {
"flake": false,
"locked": {
"lastModified": 1705577732,
"narHash": "sha256-LQEoiXsrDTXOPRX8Tcqg0p58mgxJfKcjs1XFD1vNtOs=",
"lastModified": 1706612487,
"narHash": "sha256-OTmsb1tnautQTdO/oeqbwd5MmyHbG946/kPCGSluIrM=",
"owner": "MordechaiHadad",
"repo": "bob",
"rev": "b6a496f18974be5b65572fe6e23f635506f1033a",
"rev": "e521723d2c084f4b610c27d79f870f83e964fe95",
"type": "github"
},
"original": {
@ -42,11 +42,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1706028863,
"narHash": "sha256-7AUDN/Eo/YioUd2wbzacau5cEsEzi+MOUEQCT4vAA9I=",
"lastModified": 1706807251,
"narHash": "sha256-FIQFLSw/5s6Urs9RtZP7FzXCyyBCrmFEc2N0iwmgYe8=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "b47e82dbcfdfa4b6ce844565707b51fde1b58988",
"rev": "ad0b983479cb072cb0e97c9609c11d9e5aeced34",
"type": "github"
},
"original": {
@ -167,6 +167,58 @@
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"freetype2": {
"flake": false,
"locked": {
"lastModified": 1675923892,
"narHash": "sha256-dOm8VKYdclTLLkqWMLv7DQI0Qyjit7S4SOCszKEkG3o=",
"owner": "wez",
"repo": "freetype2",
"rev": "de8b92dd7ec634e9e2b25ef534c54a3537555c11",
"type": "github"
},
"original": {
"owner": "wez",
"repo": "freetype2",
"rev": "de8b92dd7ec634e9e2b25ef534c54a3537555c11",
"type": "github"
}
},
"harfbuzz": {
"flake": false,
"locked": {
"lastModified": 1677798343,
"narHash": "sha256-Lsd0Vrkrv67CMyV0ZveShfjUvqh/jDhI8rAK9ps+SZQ=",
"owner": "harfbuzz",
"repo": "harfbuzz",
"rev": "60841e26187576bff477c1a09ee2ffe544844abc",
"type": "github"
},
"original": {
"owner": "harfbuzz",
"repo": "harfbuzz",
"rev": "60841e26187576bff477c1a09ee2ffe544844abc",
"type": "github"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
@ -196,11 +248,11 @@
]
},
"locked": {
"lastModified": 1706001011,
"narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=",
"lastModified": 1706798041,
"narHash": "sha256-BbvuF4CsVRBGRP8P+R+JUilojk0M60D7hzqE0bEvJBQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084",
"rev": "4d53427bce7bf3d17e699252fd84dc7468afc46e",
"type": "github"
},
"original": {
@ -209,6 +261,23 @@
"type": "github"
}
},
"libpng": {
"flake": false,
"locked": {
"lastModified": 1549245649,
"narHash": "sha256-1+cRp0Ungme/OGfc9kGJbklYIWAFxk8Il1M+NV4KSgw=",
"owner": "glennrp",
"repo": "libpng",
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
"type": "github"
},
"original": {
"owner": "glennrp",
"repo": "libpng",
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
"type": "github"
}
},
"neovim-flake": {
"inputs": {
"flake-utils": "flake-utils_3",
@ -219,11 +288,11 @@
},
"locked": {
"dir": "contrib",
"lastModified": 1705963870,
"narHash": "sha256-JYBsfBcRtd+8EHxKZ24stJbhox9VogikXSR/2Y9sYXQ=",
"lastModified": 1706140641,
"narHash": "sha256-H1qHhkf7sF7yrG2rb9Ks1Y4EtLY3cXGp16KCGveJWY4=",
"owner": "neovim",
"repo": "neovim",
"rev": "dc466f9a63ede5e2bbddc33688c0c972abfe9a52",
"rev": "4e59422e1d4950a3042bad41a7b81c8db4f8b648",
"type": "github"
},
"original": {
@ -242,11 +311,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1705968257,
"narHash": "sha256-/xs36Kycw7qyDEST7KrUnVcMjRq3hk90gA2PbGarux0=",
"lastModified": 1706141075,
"narHash": "sha256-o66/XFTXmcJSpEcO508V5r765HtgT8qtr+H4LRIB9BY=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "ac772de590d661e08d9bdd0a2d8f15daec3b2499",
"rev": "1da2e054a16309d7d7f7669438c8b9a5ef1b4642",
"type": "github"
},
"original": {
@ -257,11 +326,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1705856552,
"narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=",
"lastModified": 1706550542,
"narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d",
"rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
"type": "github"
},
"original": {
@ -273,11 +342,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1705916986,
"narHash": "sha256-iBpfltu6QvN4xMpen6jGGEb6jOqmmVQKUrXdOJ32u8w=",
"lastModified": 1706515015,
"narHash": "sha256-eFfY5A7wlYy3jD/75lx6IJRueg4noE+jowl0a8lIlVo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d7f206b723e42edb09d9d753020a84b3061a79d8",
"rev": "f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4",
"type": "github"
},
"original": {
@ -289,11 +358,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1705883077,
"narHash": "sha256-ByzHHX3KxpU1+V0erFy8jpujTufimh6KaS/Iv3AciHk=",
"lastModified": 1706006310,
"narHash": "sha256-nDPz0fj0IFcDhSTlXBU2aixcnGs2Jm4Zcuoj0QtmiXQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5f5210aa20e343b7e35f40c033000db0ef80d7b9",
"rev": "b43bb235efeab5324c5e486882ef46749188eee2",
"type": "github"
},
"original": {
@ -305,11 +374,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1705883077,
"narHash": "sha256-ByzHHX3KxpU1+V0erFy8jpujTufimh6KaS/Iv3AciHk=",
"lastModified": 1706683685,
"narHash": "sha256-FtPPshEpxH/ewBOsdKBNhlsL2MLEFv1hEnQ19f/bFsQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5f5210aa20e343b7e35f40c033000db0ef80d7b9",
"rev": "5ad9903c16126a7d949101687af0aa589b1d7d3d",
"type": "github"
},
"original": {
@ -325,7 +394,33 @@
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_3",
"wezterm": "wezterm"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": [
"wezterm",
"flake-utils"
],
"nixpkgs": [
"wezterm",
"nixpkgs"
]
},
"locked": {
"lastModified": 1705457855,
"narHash": "sha256-5cCHQtP/PEHK1YNTQyZN9v8ehpLTjc723ZSKAP3Tva8=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "a854609265af0e9f48c92e497679edf8fab9e690",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"systems": {
@ -372,6 +467,66 @@
"repo": "default",
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"wezterm": {
"inputs": {
"flake-utils": "flake-utils_4",
"freetype2": "freetype2",
"harfbuzz": "harfbuzz",
"libpng": "libpng",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay",
"zlib": "zlib"
},
"locked": {
"dir": "nix",
"lastModified": 1706833122,
"narHash": "sha256-IcOZrCP7uSapBRuAYoXeXE8G9TdaSWgRM9pJkf0rkTw=",
"owner": "wez",
"repo": "wezterm",
"rev": "17dadbeb1e170dc76c97afcdeae4ed27a50e99e5",
"type": "github"
},
"original": {
"dir": "nix",
"owner": "wez",
"repo": "wezterm",
"type": "github"
}
},
"zlib": {
"flake": false,
"locked": {
"lastModified": 1484501380,
"narHash": "sha256-j5b6aki1ztrzfCqu8y729sPar8GpyQWIrajdzpJC+ww=",
"owner": "madler",
"repo": "zlib",
"rev": "cacf7f1d4e3d44d871b605da3b647f07d718623f",
"type": "github"
},
"original": {
"owner": "madler",
"repo": "zlib",
"rev": "cacf7f1d4e3d44d871b605da3b647f07d718623f",
"type": "github"
}
}
},
"root": "root",

View File

@ -13,6 +13,10 @@
};
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
emacs-overlay.url = "github:nix-community/emacs-overlay";
wezterm = {
url = "github:wez/wezterm?dir=nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ { home-manager, nixpkgs, ... }:
@ -23,8 +27,11 @@
{
defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux;
targets.genericLinux.enable = true;
homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration {
homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration rec {
pkgs = nixpkgs.legacyPackages.${system};
extraSpecialArgs = {
inherit inputs;
};
modules = [
({
nixpkgs.overlays = [