Adjust base and home packages

This commit is contained in:
DashieTM 2024-08-25 19:51:45 +02:00
parent a90a9c3a8e
commit 218b7dc4ca
8 changed files with 156 additions and 103 deletions

View file

@ -20,8 +20,6 @@ in
home = { home = {
username = username; username = username;
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";
stateVersion = "24.05";
sessionPath = [ "$HOME/.cargo/bin" ]; sessionPath = [ "$HOME/.cargo/bin" ];
sessionVariables = { sessionVariables = {

View file

@ -182,20 +182,27 @@
''; '';
}; };
system_state_version = lib.mkOption { state_version = lib.mkOption {
default = "unstable"; default = "unstable";
example = "24.05"; example = "24.05";
type = lib.types.str; type = lib.types.str;
description = '' description = ''
System state version System and home state version
''; '';
}; };
}; };
config = { config =
{
conf.kernel = lib.mkIf ( conf.kernel = lib.mkIf (
config.mods.gaming.enable && config.mods.gaming.kernel config.mods.gaming.enable && config.mods.gaming.kernel
) pkgs.linuxPackages_xanmod_latest; ) pkgs.linuxPackages_xanmod_latest;
} // (lib.optionalAttrs (options ? system.stateVersion) { system.stateVersion = "unstable"; }); }
// (lib.optionalAttrs (options ? system.stateVersion) {
system.stateVersion = config.conf.state_version;
})
// (lib.optionalAttrs (options ? home.stateVersion) {
home.stateVersion = config.conf.state_version;
});
} }

View file

@ -36,47 +36,30 @@
// (lib.mkIf config.mods.default_base_packages.enable ( // (lib.mkIf config.mods.default_base_packages.enable (
lib.optionalAttrs (options ? environment.systemPackages) { lib.optionalAttrs (options ? environment.systemPackages) {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
openssl
dbus
glib
gtk4
gtk3
libadwaita
gtk-layer-shell
gtk4-layer-shell
direnv
dconf
gsettings-desktop-schemas
gnome.nixos-gsettings-overrides
bibata-cursors
xorg.xkbutils
libxkbcommon
icon-library
adwaita-icon-theme adwaita-icon-theme
dbus
dconf
direnv
glib
gnome.nixos-gsettings-overrides
gsettings-desktop-schemas
gtk-layer-shell
gtk3
gtk4
gtk4-layer-shell
hicolor-icon-theme hicolor-icon-theme
morewaita-icon-theme icon-library
kdePackages.breeze-icons kdePackages.breeze-icons
libadwaita
libxkbcommon
nixfmt-rfc-style
openssl
seahorse seahorse
upower upower
thunderbird xorg.xkbutils
podman-tui
podman-compose
dive
]; ];
gtk.iconCache.enable = false; gtk.iconCache.enable = false;
fonts.packages = with pkgs; [ cantarell-fonts ];
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
services = { services = {
upower.enable = true; upower.enable = true;
dbus = { dbus = {

View file

@ -24,6 +24,7 @@
./nextcloud.nix ./nextcloud.nix
./oxi ./oxi
./piper.nix ./piper.nix
./podman.nix
./printing.nix ./printing.nix
./scripts.nix ./scripts.nix
./sops.nix ./sops.nix

View file

@ -22,6 +22,7 @@
}; };
config = lib.mkIf config.mods.flatpak.enable ( config = lib.mkIf config.mods.flatpak.enable (
lib.optionalAttrs (options ? services.flatpak.remote) { lib.optionalAttrs (options ? services.flatpak.remote) {
environment.systemPackages = [ pkgs.flatpak ];
services.flatpak.remotes = lib.mkOptionDefault [ services.flatpak.remotes = lib.mkOptionDefault [
{ {
name = "flathub-stable"; name = "flathub-stable";

View file

@ -8,6 +8,12 @@
}: }:
{ {
options.mods.home_packages = { options.mods.home_packages = {
noDefaultPackages = lib.mkOption {
default = false;
example = true;
type = lib.types.bool;
description = "No default packages (will use additional_packages only)";
};
enable = lib.mkOption { enable = lib.mkOption {
default = true; default = true;
example = false; example = false;
@ -23,54 +29,85 @@
Will be installed regardless of default home manager packages are installed. Will be installed regardless of default home manager packages are installed.
''; '';
}; };
matrixClient = lib.mkOption {
default = pkgs.nheko;
example = null;
type = with lib.types; nullOr package;
description = "The matrix client";
};
vesktop = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Adds the vesktop discord client";
};
ncspot = lib.mkOption {
default = false;
example = true;
type = lib.types.bool;
description = "Adds the ncspot spotify client";
};
nextcloudClient = lib.mkOption {
default = false;
example = true;
type = lib.types.bool;
description = "Adds the full desktop nextcloud client (the nextcloud module in dashnix only provides the cli tool)";
};
mailClient = lib.mkOption {
default = pkgs.thunderbird;
example = null;
type = with lib.types; nullOr package;
description = "The email client";
};
}; };
config = ( config = (
lib.mkIf config.mods.home_packages.noDefaultPackages (
lib.optionalAttrs (options ? home.packages) { lib.optionalAttrs (options ? home.packages) {
home.packages = config.mods.home_packages.additional_packages; home.packages = config.mods.home_packages.additional_packages;
} }
// (lib.mkIf config.mods.home_packages.enable ( )
lib.optionalAttrs (options ? home.packages) { // (lib.optionalAttrs (options ? home.packages) {
home.packages = with pkgs; [ home.packages =
nheko with pkgs;
nextcloud-client [
xournalpp
vesktop
kitty
ripgrep
# TODO add fcp once fixed.... # TODO add fcp once fixed....
rm-improved (lib.mkIf config.mods.home_packages.ncspot ncspot)
bat (lib.mkIf config.mods.home_packages.vesktop vesktop)
fd (lib.mkIf config.mods.home_packages.nextcloudClient nextcloud-client)
lsd (lib.mkIf (options ? config.mods.home_pakcage.matrixClient) config.mods.home_packages.matrixClient)
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) (lib.mkIf (options ? config.mods.home_packages.mailClient) config.mods.home_packages.mailClient)
noto-fonts
flatpak
networkmanager
zoxide
fastfetch
gnome-keyring
dbus
killall
adw-gtk3 adw-gtk3
bat
brave
brightnessctl
dbus
fastfetch
fd
ffmpeg
flake-checker
gnome-keyring
gnutar
greetd.regreet
killall
kitty
libnotify
lsd
networkmanager
nh
nix-index
playerctl
poppler_utils
pulseaudio
qt5ct qt5ct
qt6ct qt6ct
gnutar ripgrep
nix-index rm-improved
libnotify
zenith
nh
amberol
pulseaudio
playerctl
ncspot
poppler_utils
brave
greetd.regreet
flake-checker
ffmpeg
system-config-printer system-config-printer
brightnessctl xournalpp
]; zenith
zoxide
]
++ config.mods.home_packages.additional_packages;
xdg.configFile."direnv/direnv.toml".source = (pkgs.formats.toml { }).generate "direnv" { xdg.configFile."direnv/direnv.toml".source = (pkgs.formats.toml { }).generate "direnv" {
global = { global = {
@ -78,22 +115,6 @@
}; };
}; };
#my own programs })
programs = {
hyprdock.enable = true;
oxicalc.enable = true;
ReSet.enable = true;
ReSet.config.plugins = [
inputs.reset-plugins.packages."x86_64-linux".monitor
inputs.reset-plugins.packages."x86_64-linux".keyboard
];
ReSet.config.plugin_config = {
Keyboard = {
path = "/home/${config.conf.username}/.config/reset/keyboard.conf";
};
};
};
}
))
); );
} }

View file

@ -0,0 +1,34 @@
{
lib,
config,
options,
pkgs,
...
}:
{
options.mods.podman = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables and configures podman";
};
};
config = lib.mkIf config.mods.podman.enable (
lib.optionalAttrs (options ? virtualisation.podman) {
environment.systemPackages = with pkgs; [
podman-tui
podman-compose
dive
];
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
}
);
}

View file

@ -105,5 +105,13 @@
); );
}; };
} }
// lib.optionalAttrs (options ? environment.systemPackages) {
environment.systemPackages = [
config.mods.stylix.fonts.serif.package
config.mods.stylix.fonts.sansSerif.package
config.mods.stylix.fonts.monospace.package
config.mods.stylix.fonts.emoji.package
];
}
); );
} }