add enableGUI option, with conditional modules depending on it

This commit is contained in:
LavaDesu 2021-07-15 13:46:01 +07:00
parent c8647160f3
commit 7cd76b2b63
Signed by: cilly
GPG key ID: 6500251E087653C9
2 changed files with 33 additions and 25 deletions

View file

@ -54,7 +54,10 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = {
inherit inputs;
enableGUI = true;
};
}; };
}; };
in in
@ -67,7 +70,10 @@
./hosts/winter ./hosts/winter
secrets.nixosModules.winter secrets.nixosModules.winter
]; ];
specialArgs = { inherit inputs; }; specialArgs = {
inherit inputs;
enableGUI = true;
};
}; };
packages.x86_64-linux = customPackages nixpkgs.legacyPackages.x86_64-linux; packages.x86_64-linux = customPackages nixpkgs.legacyPackages.x86_64-linux;

View file

@ -1,42 +1,43 @@
{ config, pkgs, ... }: rec { { config, enableGUI, lib, pkgs, ... }: {
home = { home = {
username = "rin"; username = "rin";
homeDirectory = "/home/rin"; homeDirectory = "/home/rin";
stateVersion = "21.05"; stateVersion = "21.05";
packages = with pkgs; [ packages = with pkgs; [
appimage-run appimage-run
brave
discord-canary
element-desktop
feh
ffmpeg ffmpeg
gnome.file-roller
ghidra-bin
gimp
gnupg gnupg
inkscape
kotatogram-desktop
lf lf
lxappearance
maim
mps-youtube mps-youtube
neofetch neofetch
nodejs-16_x nodejs-16_x
pamixer pamixer
pavucontrol
rnix-lsp rnix-lsp
tor-browser-bundle-bin
transcrypt transcrypt
transmission-remote-gtk
unrar unrar
vlc
wine-osu wine-osu
(winetricks.override { wine = wine-osu; }) (winetricks.override { wine = wine-osu; })
xclip
xorg.xgamma
youtube-dl youtube-dl
nodePackages_latest.pnpm nodePackages_latest.pnpm
] ++ lib.optionals enableGUI [
brave
discord-canary
element-desktop
feh
gnome.file-roller
ghidra-bin
gimp
inkscape
kotatogram-desktop
lxappearance
maim
pavucontrol
tor-browser-bundle-bin
transmission-remote-gtk
vlc
xclip
xorg.xgamma
]; ];
sessionVariables = { sessionVariables = {
@ -67,17 +68,18 @@
}; };
imports = [ imports = [
./neovim.nix
./npm.nix
./zsh.nix
] ++ lib.optionals enableGUI [
./theming.nix ./theming.nix
./xdg.nix ./xdg.nix
# ./alacritty.nix # ./alacritty.nix
./kitty.nix ./kitty.nix
./mpv.nix ./mpv.nix
./neovim.nix
./npm.nix
./rofi.nix ./rofi.nix
# ./urxvt.nix # ./urxvt.nix
./zsh.nix
./dunst.nix ./dunst.nix
./picom.nix ./picom.nix
@ -91,7 +93,7 @@
]; ];
programs = { programs = {
feh.enable = true; feh.enable = enableGUI;
direnv = { direnv = {
enable = true; enable = true;
@ -123,7 +125,7 @@
clipmenu.enable = false; clipmenu.enable = false;
gpg-agent = { gpg-agent = {
enable = true; enable = true;
pinentryFlavor = "gnome3"; pinentryFlavor = if enableGUI then "gnome3" else "tty";
}; };
}; };