Adjust base and home packages
This commit is contained in:
parent
a90a9c3a8e
commit
218b7dc4ca
8 changed files with 156 additions and 103 deletions
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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 (
|
{
|
||||||
config.mods.gaming.enable && config.mods.gaming.kernel
|
conf.kernel = lib.mkIf (
|
||||||
) pkgs.linuxPackages_xanmod_latest;
|
config.mods.gaming.enable && config.mods.gaming.kernel
|
||||||
} // (lib.optionalAttrs (options ? system.stateVersion) { system.stateVersion = "unstable"; });
|
) pkgs.linuxPackages_xanmod_latest;
|
||||||
|
}
|
||||||
|
// (lib.optionalAttrs (options ? system.stateVersion) {
|
||||||
|
system.stateVersion = config.conf.state_version;
|
||||||
|
})
|
||||||
|
// (lib.optionalAttrs (options ? home.stateVersion) {
|
||||||
|
home.stateVersion = config.conf.state_version;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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,77 +29,92 @@
|
||||||
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.optionalAttrs (options ? home.packages) {
|
lib.mkIf config.mods.home_packages.noDefaultPackages (
|
||||||
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 = config.mods.home_packages.additional_packages;
|
||||||
nheko
|
}
|
||||||
nextcloud-client
|
)
|
||||||
xournalpp
|
// (lib.optionalAttrs (options ? home.packages) {
|
||||||
vesktop
|
home.packages =
|
||||||
kitty
|
with pkgs;
|
||||||
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 = {
|
||||||
warn_timeout = "-1s";
|
warn_timeout = "-1s";
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
))
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
34
modules/programs/podman.nix
Normal file
34
modules/programs/podman.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -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
|
||||||
|
];
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue