Move more packages into home manager
This commit is contained in:
parent
0693bca452
commit
481cde91d9
|
@ -31,6 +31,8 @@ with lib; with nLib; {
|
||||||
# Programs
|
# Programs
|
||||||
programs = {
|
programs = {
|
||||||
util = {
|
util = {
|
||||||
|
# Core utilites
|
||||||
|
core = mkEnableOptionT "core";
|
||||||
# Ssh configuration, enabled by default
|
# Ssh configuration, enabled by default
|
||||||
ssh = mkEnableOptionT "ssh";
|
ssh = mkEnableOptionT "ssh";
|
||||||
# Fish configuration, enabled by default
|
# Fish configuration, enabled by default
|
||||||
|
@ -38,12 +40,14 @@ with lib; with nLib; {
|
||||||
# Git configuration, enabled by default
|
# Git configuration, enabled by default
|
||||||
git = {
|
git = {
|
||||||
enable = mkEnableOptionT "git";
|
enable = mkEnableOptionT "git";
|
||||||
gpgSign = mkEnableOptionT "git signatures";
|
gpgSign = mkDefaultOption "git signatures" config.nathan.config.isDesktop;
|
||||||
};
|
};
|
||||||
# Bat configuration, enabled by default
|
# Bat configuration, enabled by default
|
||||||
bat = mkEnableOptionT "bat";
|
bat = mkEnableOptionT "bat";
|
||||||
# JSON Utilities, enabled by default
|
# JSON Utilities, enabled by default
|
||||||
json = mkEnableOptionT "json";
|
json = mkEnableOptionT "json";
|
||||||
|
# Productivity application
|
||||||
|
productivity = mkDefaultOption "Productivity applications" config.nathan.config.isDesktop;
|
||||||
};
|
};
|
||||||
# Swaywm and supoorting application configuration
|
# Swaywm and supoorting application configuration
|
||||||
swaywm = {
|
swaywm = {
|
||||||
|
|
|
@ -2,6 +2,50 @@
|
||||||
with lib;
|
with lib;
|
||||||
{
|
{
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
(mkIf config.nathan.programs.util.core {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Rust rewrites of common shell utilites
|
||||||
|
exa
|
||||||
|
bat
|
||||||
|
fd
|
||||||
|
sd
|
||||||
|
du-dust
|
||||||
|
ripgrep
|
||||||
|
ripgrep-all
|
||||||
|
hyperfine
|
||||||
|
bottom
|
||||||
|
dogdns
|
||||||
|
duf
|
||||||
|
# User friendly cut
|
||||||
|
choose
|
||||||
|
# Man but terse
|
||||||
|
tealdeer
|
||||||
|
];
|
||||||
|
})
|
||||||
|
(mkIf config.nathan.programs.util.productivity {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Feh image viewer
|
||||||
|
feh
|
||||||
|
tokei
|
||||||
|
# Spell check
|
||||||
|
hunspell
|
||||||
|
hunspellDicts.en-us
|
||||||
|
# CLI Markdown renderer
|
||||||
|
glow
|
||||||
|
# Command line file manager
|
||||||
|
broot
|
||||||
|
# Much better curl
|
||||||
|
httpie
|
||||||
|
# CLI spreadsheets
|
||||||
|
visidata
|
||||||
|
# Cheatsheet manager
|
||||||
|
cheat
|
||||||
|
# Ping with a graph
|
||||||
|
gping
|
||||||
|
# Pandoc for documentation
|
||||||
|
pandoc
|
||||||
|
];
|
||||||
|
})
|
||||||
(mkIf config.nathan.programs.util.git.enable {
|
(mkIf config.nathan.programs.util.git.enable {
|
||||||
#########################
|
#########################
|
||||||
## Git configuration
|
## Git configuration
|
||||||
|
|
|
@ -75,9 +75,6 @@ in
|
||||||
# Core utililtes I want on every system
|
# Core utililtes I want on every system
|
||||||
# Enabled by default
|
# Enabled by default
|
||||||
core = mkEnableOptionT "utils-core";
|
core = mkEnableOptionT "utils-core";
|
||||||
# Productivity utilites that make sense for a desktop
|
|
||||||
# Enabled by default on desktop
|
|
||||||
productivity = mkDefaultOption "utils-productivity" config.nathan.config.isDesktop;
|
|
||||||
# Enable multi system emulation
|
# Enable multi system emulation
|
||||||
# Enabled by default on desktop
|
# Enabled by default on desktop
|
||||||
binfmt = mkDefaultOption "utils-productivity" config.nathan.config.isDesktop;
|
binfmt = mkDefaultOption "utils-productivity" config.nathan.config.isDesktop;
|
||||||
|
|
|
@ -15,23 +15,6 @@ with lib;
|
||||||
unzip
|
unzip
|
||||||
any-nix-shell
|
any-nix-shell
|
||||||
htop
|
htop
|
||||||
# Rust rewrites of common shell utilities
|
|
||||||
starship
|
|
||||||
exa
|
|
||||||
bat
|
|
||||||
fd
|
|
||||||
sd
|
|
||||||
du-dust
|
|
||||||
ripgrep
|
|
||||||
ripgrep-all
|
|
||||||
hyperfine
|
|
||||||
bottom
|
|
||||||
dogdns
|
|
||||||
duf
|
|
||||||
# User friendly cut
|
|
||||||
choose
|
|
||||||
# Man but terse
|
|
||||||
tealdeer
|
|
||||||
# For nslookup
|
# For nslookup
|
||||||
dnsutils
|
dnsutils
|
||||||
# Mosh for better high-latency ssh
|
# Mosh for better high-latency ssh
|
||||||
|
@ -40,30 +23,6 @@ with lib;
|
||||||
pv
|
pv
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
(mkIf nathan.programs.utils.productivity {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Feh image viewer
|
|
||||||
feh
|
|
||||||
tokei
|
|
||||||
# Spell check
|
|
||||||
hunspell
|
|
||||||
hunspellDicts.en-us
|
|
||||||
# CLI Markdown renderer
|
|
||||||
glow
|
|
||||||
# Command line file manager
|
|
||||||
broot
|
|
||||||
# Much better curl
|
|
||||||
httpie
|
|
||||||
# CLI spreadsheets
|
|
||||||
visidata
|
|
||||||
# Cheatsheet manager
|
|
||||||
cheat
|
|
||||||
# Ping with a graph
|
|
||||||
gping
|
|
||||||
# Pandoc for documentation
|
|
||||||
pandoc
|
|
||||||
];
|
|
||||||
})
|
|
||||||
(mkIf nathan.programs.utils.binfmt {
|
(mkIf nathan.programs.utils.binfmt {
|
||||||
boot.binfmt.emulatedSystems = [
|
boot.binfmt.emulatedSystems = [
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
|
|
Loading…
Reference in New Issue