feat: create initial home manager modules
This commit is contained in:
36
modules/home-manager/desktop.nix
Normal file
36
modules/home-manager/desktop.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
desktop.enable = lib.mkEnableOption "desktop gui applications";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.desktop.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
ghostty
|
||||||
|
google-chrome
|
||||||
|
zathura
|
||||||
|
pavucontrol
|
||||||
|
bolt-launcher
|
||||||
|
libnotify
|
||||||
|
bibata-cursors
|
||||||
|
vesktop
|
||||||
|
rocketchat-desktop
|
||||||
|
telegram-desktop
|
||||||
|
slack
|
||||||
|
jellyfin-media-player
|
||||||
|
cider-2
|
||||||
|
protonmail-bridge
|
||||||
|
ledger-live-desktop
|
||||||
|
];
|
||||||
|
|
||||||
|
services.dunst.enable = true;
|
||||||
|
|
||||||
|
home.file.".assets".source = inputs.assets;
|
||||||
|
};
|
||||||
|
}
|
||||||
37
modules/home-manager/dev.nix
Normal file
37
modules/home-manager/dev.nix
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
dev.enable = lib.mkEnableOption "development tools";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.dev.enable {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.git
|
||||||
|
packages.git-linearize
|
||||||
|
packages.ggman
|
||||||
|
pkgs.go
|
||||||
|
pkgs.python3
|
||||||
|
pkgs.mdbook
|
||||||
|
pkgs.marksman
|
||||||
|
pkgs.mdformat
|
||||||
|
pkgs.google-cloud-sdk
|
||||||
|
pkgs.google-cloud-sql-proxy
|
||||||
|
packages.ahab
|
||||||
|
pkgs.just
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
59
modules/home-manager/neovim.nix
Normal file
59
modules/home-manager/neovim.nix
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
neovim = {
|
||||||
|
enable = lib.mkEnableOption "neovim nightly with lsp support";
|
||||||
|
package = lib.mkPackageOption pkgs "neovim" { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.neovim.enable {
|
||||||
|
stylix.targets.neovim.enable = false;
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
vimAlias = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
inherit (config.neovim) package;
|
||||||
|
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
# runtime deps
|
||||||
|
gcc
|
||||||
|
luajit
|
||||||
|
nodejs_22
|
||||||
|
tree-sitter
|
||||||
|
gnumake
|
||||||
|
osc
|
||||||
|
|
||||||
|
# search and diff
|
||||||
|
fd
|
||||||
|
ripgrep
|
||||||
|
bat
|
||||||
|
delta
|
||||||
|
|
||||||
|
# language servers
|
||||||
|
pyright
|
||||||
|
typescript-language-server
|
||||||
|
lua-language-server
|
||||||
|
gopls
|
||||||
|
nil
|
||||||
|
nixd
|
||||||
|
|
||||||
|
# formatters
|
||||||
|
nixpkgs-fmt
|
||||||
|
stylua
|
||||||
|
];
|
||||||
|
|
||||||
|
extraWrapperArgs = [
|
||||||
|
"--suffix"
|
||||||
|
"LD_LIBRARY_PATH"
|
||||||
|
":"
|
||||||
|
"${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
modules/home-manager/shell.nix
Normal file
26
modules/home-manager/shell.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
shell.enable = lib.mkEnableOption "shell utilities";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.shell.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
starship
|
||||||
|
fzf
|
||||||
|
htop
|
||||||
|
jc
|
||||||
|
jq
|
||||||
|
openssl
|
||||||
|
pv
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
tmux
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user