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

View File

@ -22,11 +22,11 @@
"bob_2": { "bob_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1705577732, "lastModified": 1706612487,
"narHash": "sha256-LQEoiXsrDTXOPRX8Tcqg0p58mgxJfKcjs1XFD1vNtOs=", "narHash": "sha256-OTmsb1tnautQTdO/oeqbwd5MmyHbG946/kPCGSluIrM=",
"owner": "MordechaiHadad", "owner": "MordechaiHadad",
"repo": "bob", "repo": "bob",
"rev": "b6a496f18974be5b65572fe6e23f635506f1033a", "rev": "e521723d2c084f4b610c27d79f870f83e964fe95",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -42,11 +42,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1706028863, "lastModified": 1706807251,
"narHash": "sha256-7AUDN/Eo/YioUd2wbzacau5cEsEzi+MOUEQCT4vAA9I=", "narHash": "sha256-FIQFLSw/5s6Urs9RtZP7FzXCyyBCrmFEc2N0iwmgYe8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "b47e82dbcfdfa4b6ce844565707b51fde1b58988", "rev": "ad0b983479cb072cb0e97c9609c11d9e5aeced34",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -167,6 +167,58 @@
"type": "github" "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": { "hercules-ci-effects": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
@ -196,11 +248,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1706001011, "lastModified": 1706798041,
"narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=", "narHash": "sha256-BbvuF4CsVRBGRP8P+R+JUilojk0M60D7hzqE0bEvJBQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084", "rev": "4d53427bce7bf3d17e699252fd84dc7468afc46e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -209,6 +261,23 @@
"type": "github" "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": { "neovim-flake": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
@ -219,11 +288,11 @@
}, },
"locked": { "locked": {
"dir": "contrib", "dir": "contrib",
"lastModified": 1705963870, "lastModified": 1706140641,
"narHash": "sha256-JYBsfBcRtd+8EHxKZ24stJbhox9VogikXSR/2Y9sYXQ=", "narHash": "sha256-H1qHhkf7sF7yrG2rb9Ks1Y4EtLY3cXGp16KCGveJWY4=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "dc466f9a63ede5e2bbddc33688c0c972abfe9a52", "rev": "4e59422e1d4950a3042bad41a7b81c8db4f8b648",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -242,11 +311,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1705968257, "lastModified": 1706141075,
"narHash": "sha256-/xs36Kycw7qyDEST7KrUnVcMjRq3hk90gA2PbGarux0=", "narHash": "sha256-o66/XFTXmcJSpEcO508V5r765HtgT8qtr+H4LRIB9BY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "ac772de590d661e08d9bdd0a2d8f15daec3b2499", "rev": "1da2e054a16309d7d7f7669438c8b9a5ef1b4642",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -257,11 +326,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1705856552, "lastModified": 1706550542,
"narHash": "sha256-JXfnuEf5Yd6bhMs/uvM67/joxYKoysyE3M2k6T3eWbg=", "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "612f97239e2cc474c13c9dafa0df378058c5ad8d", "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -273,11 +342,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1705916986, "lastModified": 1706515015,
"narHash": "sha256-iBpfltu6QvN4xMpen6jGGEb6jOqmmVQKUrXdOJ32u8w=", "narHash": "sha256-eFfY5A7wlYy3jD/75lx6IJRueg4noE+jowl0a8lIlVo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d7f206b723e42edb09d9d753020a84b3061a79d8", "rev": "f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,11 +358,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1705883077, "lastModified": 1706006310,
"narHash": "sha256-ByzHHX3KxpU1+V0erFy8jpujTufimh6KaS/Iv3AciHk=", "narHash": "sha256-nDPz0fj0IFcDhSTlXBU2aixcnGs2Jm4Zcuoj0QtmiXQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5f5210aa20e343b7e35f40c033000db0ef80d7b9", "rev": "b43bb235efeab5324c5e486882ef46749188eee2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -305,11 +374,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1705883077, "lastModified": 1706683685,
"narHash": "sha256-ByzHHX3KxpU1+V0erFy8jpujTufimh6KaS/Iv3AciHk=", "narHash": "sha256-FtPPshEpxH/ewBOsdKBNhlsL2MLEFv1hEnQ19f/bFsQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5f5210aa20e343b7e35f40c033000db0ef80d7b9", "rev": "5ad9903c16126a7d949101687af0aa589b1d7d3d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -325,7 +394,33 @@
"emacs-overlay": "emacs-overlay", "emacs-overlay": "emacs-overlay",
"home-manager": "home-manager", "home-manager": "home-manager",
"neovim-nightly-overlay": "neovim-nightly-overlay", "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": { "systems": {
@ -372,6 +467,66 @@
"repo": "default", "repo": "default",
"type": "github" "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", "root": "root",

View File

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