home-manager: make the hm modules match the nixos ones

This commit is contained in:
Veneficium 2024-11-05 17:45:56 +01:00
parent 4fc501b1e2
commit 32a5ebf118
16 changed files with 256 additions and 98 deletions

View file

@ -1,7 +0,0 @@
{ ... }:
{
programs.bun = {
enable = true;
enableGitIntegration = true;
};
}

View file

@ -1,7 +1,13 @@
{ ... }: { config, lib, ... }:
{ {
programs.fastfetch = { options.settings.programs.fastfetch = {
enable = true; enable = lib.mkEnableOption "enable fastfetch";
settings = builtins.fromJSON (builtins.readFile ./config.jsonc); };
config = lib.mkIf config.settings.programs.fastfetch.enable {
programs.fastfetch = {
enable = true;
settings = builtins.fromJSON (builtins.readFile ./config.jsonc);
};
}; };
} }

View file

@ -1,12 +1,18 @@
{ ... }: { config, lib, ... }:
{ {
programs.git = { options.settings.programs.git = {
enable = true; enable = lib.mkEnableOption "enable git";
userEmail = "85629831+veneficium42@users.noreply.github.com"; };
userName = "Veneficium";
extraConfig = { config = lib.mkIf config.settings.programs.git.enable {
init.defaultBranch = "main"; programs.git = {
credential.credentialStore = "gpg"; enable = true;
userEmail = "85629831+veneficium42@users.noreply.github.com";
userName = "Veneficium";
extraConfig = {
init.defaultBranch = "main";
credential.credentialStore = "gpg";
};
}; };
}; };
} }

View file

@ -1,7 +1,13 @@
{ ... }: { config, lib, ... }:
{ {
programs.hyfetch = { options.settings.programs.hyfetch = {
enable = true; enable = lib.mkEnableOption "enables hyfetch";
#todo add hyfetch config };
config = lib.mkIf config.settings.programs.hyfetch.enable {
programs.hyfetch = {
enable = true;
#todo add hyfetch config
};
}; };
} }

View file

@ -1,10 +1,22 @@
{ pkgs, ... }:
{ {
programs.password-store = { config,
enable = true; lib,
package = pkgs.pass-wayland.withExtensions (exts: [ pkgs,
exts.pass-checkup ...
exts.pass-audit }:
]); {
options.settings.programs.pass = {
enable = lib.mkEnableOption "enable pass";
};
config = lib.mkIf config.settings.programs.pass.enable {
programs.password-store = {
enable = true;
package = pkgs.pass-wayland.withExtensions (exts: [
exts.pass-checkup
exts.pass-audit
]);
};
}; };
} }

View file

@ -1,11 +1,17 @@
{ ... }: { config, lib, ... }:
{ {
programs.starship = { options.settings.programs.starship = {
enable = true; enable = lib.mkEnableOption "enable starship prompt";
#enableZshIntegration = true; };
enableTransience = true;
enableFishIntegration = true;
settings = builtins.fromTOML (builtins.readFile ./starship.toml); config = lib.mkIf config.settings.programs.starship.enable {
programs.starship = {
enable = true;
#enableZshIntegration = true;
enableTransience = true;
enableFishIntegration = true;
settings = builtins.fromTOML (builtins.readFile ./starship.toml);
};
}; };
} }

View file

@ -0,0 +1,51 @@
{ lib, ... }:
{
imports = [
#./zsh.nix
./fish.nix
./niri.nix
./development/rust.nix
./development/bun.nix
./cliPrograms/pass.nix
./cliPrograms/hyfetch.nix
./cliPrograms/git.nix
./cliPrograms/starship/starship.nix
./cliPrograms/fastfetch/fastfetch.nix
./desktopPrograms/firefox.nix
./desktopPrograms/amberol.nix
./desktopPrograms/wezterm/wezterm.nix
./desktopPrograms/vscodium/vscodium.nix
];
settings = {
shell.fish.enable = lib.mkDefault true;
development = {
rust = {
enable = lib.mkDefault false;
enableVSCode = lib.mkDefault false;
};
bun.enable = lib.mkDefault false;
};
programs = {
firefox.enable = lib.mkDefault false;
amberol.enable = lib.mkDefault false;
wezterm.enable = lib.mkDefault false;
vscodium.enable = lib.mkDefault false;
pass.enable = lib.mkDefault true;
hyfetch.enable = lib.mkDefault false;
git.enable = lib.mkDefault true;
starship.enable = lib.mkDefault false;
fastfetch.enable = lib.mkDefault true;
};
};
}

View file

@ -1,4 +1,10 @@
{ ... }: { config, lib, ... }:
{ {
services.amberol.enable = true; options.settings.programs.amberol = {
enable = lib.mkEnableOption "enable amberol music player";
};
config = lib.mkIf config.settings.programs.amberol.enable {
services.amberol.enable = true;
};
} }

View file

@ -1,9 +1,20 @@
{ pkgs, ... }:
{ {
#todo config config,
programs.firefox = { lib,
enable = true; pkgs,
#todo make sure this on only if gnome is setup correctly ...
nativeMessagingHosts = [ pkgs.gnome-browser-connector ]; }:
{
options.settings.programs.firefox = {
enable = lib.mkEnableOption "enable firefox";
};
config = lib.mkIf config.settings.programs.firefox.enable {
#todo config
programs.firefox = {
enable = true;
#todo make sure this on only if gnome is setup correctly
nativeMessagingHosts = [ pkgs.gnome-browser-connector ];
};
}; };
} }

View file

@ -1,16 +1,26 @@
{ pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
#The VSCoderrrrrrrr #The VSCoderrrrrrrr
#codepilled nixmaxxer #codepilled nixmaxxer
#god I love tumblr #god I love tumblr
#tumblrpilled mememaxxer #tumblrpilled mememaxxer
programs.vscode = { options.settings.programs.vscodium = {
enable = true; enable = lib.mkEnableOption "enable vscode for development";
package = pkgs.vscodium; };
enableUpdateCheck = false;
enableExtensionUpdateCheck = false; config = lib.mkIf config.settings.programs.vscodium.enable {
mutableExtensionsDir = false; programs.vscode = {
enable = true;
package = pkgs.vscodium;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
mutableExtensionsDir = false;
extensions = extensions =
with pkgs.vscode-extensions; with pkgs.vscode-extensions;
@ -32,6 +42,7 @@
bierner.markdown-preview-github-styles bierner.markdown-preview-github-styles
]); ]);
userSettings = builtins.fromJSON (builtins.readFile ./settings.json); userSettings = builtins.fromJSON (builtins.readFile ./settings.json);
};
}; };
} }

View file

@ -1,8 +1,14 @@
{ ... }: { config, lib, ... }:
{ {
programs.wezterm = { options.settings.programs.wezterm = {
enable = true; enable = lib.mkEnableOption "enable wezterm terminal emulator";
#enableZshIntegration = true; };
extraConfig = builtins.replaceStrings [ "-- nix-replace" ] [ "" ] (builtins.readFile ./wezterm.lua);
config = lib.mkIf config.settings.programs.wezterm.enable {
programs.wezterm = {
enable = true;
#enableZshIntegration = true;
extraConfig = builtins.replaceStrings [ "-- nix-replace" ] [ "" ] (builtins.readFile ./wezterm.lua);
};
}; };
} }

View file

@ -0,0 +1,13 @@
{ config, lib, ... }:
{
options.settings.development.bun = {
enable = lib.mkEnableOption "enable bun for js development";
};
config = lib.mkIf config.settings.development.bun.enable {
programs.bun = {
enable = true;
enableGitIntegration = true;
};
};
}

View file

@ -1,17 +1,30 @@
{ pkgs, ... }:
{ {
home.packages = with pkgs; [ config,
cargo lib,
rustc pkgs,
rustfmt ...
]; }:
{
options.settings.development.rust = {
enable = lib.mkEnableOption "enable rust toolchain and various dev tools";
enableVSCode = lib.mkEnableOption "enable VSCode extension for rust";
};
programs.vscode.extensions = config = lib.mkIf config.settings.development.rust.enable {
with pkgs.vscode-extensions; home.packages = with pkgs; [
[ cargo
rust-lang.rust-analyzer rustc
] rustfmt
++ (with pkgs.open-vsx; [ ];
tamasfe.even-better-toml
]); programs.vscode.extensions = lib.mkIf config.settings.development.rust.enableVSCode (
with pkgs.vscode-extensions;
[
rust-lang.rust-analyzer
]
++ (with pkgs.open-vsx; [
tamasfe.even-better-toml
])
);
};
} }

View file

@ -1,12 +1,23 @@
{ pkgs, ... }:
{ {
programs.fish = { config,
enable = true; lib,
plugins = [ pkgs,
{ ...
name = "fish-you-should-use"; }:
src = pkgs.fishPlugins.fish-you-should-use; {
} options.settings.shell.fish = {
]; enable = lib.mkEnableOption "enable fish shell";
};
config = lib.mkIf config.settings.shell.fish.enable {
programs.fish = {
enable = true;
plugins = [
{
name = "fish-you-should-use";
src = pkgs.fishPlugins.fish-you-should-use;
}
];
};
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { ... }:
{ {
programs.niri.config = ""; programs.niri.config = null;
} }

View file

@ -1,25 +1,32 @@
{ pkgs, ... }: { lib, pkgs, ... }:
{ {
imports = [ imports = [
#../../homeManagerModules/zsh.nix #../../homeManagerModules/zsh.nix
../../homeManagerModules/fish.nix ../../homeManagerModules/default.nix
../../homeManagerModules/development/rust.nix
../../homeManagerModules/desktopPrograms/firefox.nix
../../homeManagerModules/desktopPrograms/wezterm/wezterm.nix
../../homeManagerModules/desktopPrograms/vscodium/vscodium.nix
../../homeManagerModules/desktopPrograms/amberol.nix
../../homeManagerModules/cliPrograms/starship/starship.nix
../../homeManagerModules/cliPrograms/fastfetch/fastfetch.nix
../../homeManagerModules/cliPrograms/hyfetch.nix
../../homeManagerModules/cliPrograms/bun.nix
../../homeManagerModules/cliPrograms/git.nix
../../homeManagerModules/cliPrograms/pass.nix
]; ];
settings = {
development = {
rust = {
enable = lib.mkForce true;
enableVSCode = lib.mkForce true;
};
bun.enable = lib.mkForce true;
};
programs = {
firefox.enable = lib.mkForce true;
amberol.enable = lib.mkForce true;
wezterm.enable = lib.mkForce true;
vscodium.enable = lib.mkForce true;
starship.enable = lib.mkForce true;
hyfetch.enable = lib.mkForce true;
};
};
#todo: EditorConfig support ( https://editorconfig.org ) #todo: EditorConfig support ( https://editorconfig.org )
programs.gnome-shell = { programs.gnome-shell = {