Remove unnecessary quotes

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-02 19:30:22 +03:00
parent 6809acf2ae
commit 82c0175a19
28 changed files with 163 additions and 180 deletions

10
hosts/eirene/base/card.sh Normal file
View File

@@ -0,0 +1,10 @@
AMD=/dev/dri/by-path/pci-0000:06:00.0-card
NVIDIA=/dev/dri/by-path/pci-0000:01:00.0-card
if [ -e $AMD ]; then
CARD=$AMD
else
CARD=$NVIDIA
fi
ln -sf $CARD $HOME/.config/hypr/card

View File

@@ -58,18 +58,7 @@
}]; }];
}; };
programs.zsh.loginExtra = lib.mkBefore '' programs.zsh.loginExtra = lib.mkBefore (builtins.readFile ./card.sh);
AMD=/dev/dri/by-path/pci-0000:06:00.0-card
NVIDIA=/dev/dri/by-path/pci-0000:01:00.0-card
if [ -e $AMD ]; then
CARD=$AMD
else
CARD=$NVIDIA
fi
ln -sf $CARD $HOME/.config/hypr/card
'';
theme = { theme = {
cursor.size = 24; cursor.size = 24;

View File

@@ -21,16 +21,12 @@ in
config = { config = {
wayland.windowManager.hyprland.settings.exec-once = lib.meta.getExe (pkgs.writeShellApplication { wayland.windowManager.hyprland.settings.exec-once = lib.meta.getExe (pkgs.writeShellApplication {
name = "init-hyprland"; name = "init-hyprland";
text = '' text = cfg.initExtraConfig;
${cfg.initExtraConfig}
'';
}); });
wayland.windowManager.hyprland.settings.exec = lib.meta.getExe (pkgs.writeShellApplication { wayland.windowManager.hyprland.settings.exec = lib.meta.getExe (pkgs.writeShellApplication {
name = "reload-hyprland"; name = "reload-hyprland";
text = '' text = cfg.reloadExtraConfig;
${cfg.reloadExtraConfig}
'';
}); });
}; };
} }

View File

@@ -6,106 +6,13 @@ let
name = "theme"; name = "theme";
runtimeInputs = with pkgs; [ coreutils-full ]; runtimeInputs = with pkgs; [ coreutils-full ];
bashOptions = [ "nounset" "pipefail" ]; bashOptions = [ "nounset" "pipefail" ];
text = '' runtimeEnv = {
[ ! -L "${cfg.configDir}/wallpaper" ] && ln -sf "${cfg.wallpaper}" "${cfg.configDir}/wallpaper" CONFIG = cfg.configDir;
[ ! -f "${cfg.configDir}/mode" ] && echo "${cfg.mode}" > "${cfg.configDir}/mode" DEFAULT_WALLPAPER = cfg.wallpaper;
DEFAULT_MODE = cfg.mode;
set_wallpaper() { SWITCH = lib.meta.getExe (pkgs.writeShellScriptBin "themeExtraConfig" cfg.extraConfig);
if [ -f "$1" ]; then };
WALLPAPER="$1" text = builtins.readFile ./theme.sh;
else
echo "Invalid wallpaper path: $1"
exit 1
fi
}
set_mode() {
if [ "$1" = "light" ] || [ "$1" = "dark" ]; then
MODE="$1"
else
echo "Invalid mode: $1. Use 'light' or 'dark'."
exit 1
fi
}
toggle_mode() {
if [ "$(cat "${cfg.configDir}/mode")" = "light" ]; then
MODE="dark"
else
MODE="light"
fi
}
show_usage() {
echo "Usage: theme {toggle|light|dark|mode <mode>|wallpaper <file> [mode]}"
}
finish() {
[ -n "$WALLPAPER" ] && ln -sf "$WALLPAPER" "${cfg.configDir}/wallpaper"
[ -n "$MODE" ] && echo "$MODE" > "${cfg.configDir}/mode"
{
${cfg.extraConfig}
} > /dev/null
}
WALLPAPER=""
MODE=""
if [ $# -eq 0 ]; then
finish
else
case "$1" in
toggle)
if [ $# -eq 1 ]; then
toggle_mode
else
show_usage
exit 1
fi
;;
light)
if [ $# -eq 1 ]; then
set_mode "light"
else
show_usage
exit 1
fi
;;
dark)
if [ $# -eq 1 ]; then
set_mode "dark"
else
show_usage
exit 1
fi
;;
mode)
if [ $# -eq 2 ]; then
set_mode "$2"
else
show_usage
exit 1
fi
;;
wallpaper)
if [ $# -ge 2 ] && [ $# -le 3 ]; then
set_wallpaper "$2"
[ $# -eq 3 ] && set_mode "$3"
else
show_usage
exit 1
fi
;;
*)
show_usage
exit 1
;;
esac
finish
fi
'';
}; };
in in
{ {

View File

@@ -0,0 +1,98 @@
[ ! -L "$CONFIG"/wallpaper ] && ln -sf "$DEFAULT_WALLPAPER" "$CONFIG"/wallpaper
[ ! -f "$CONFIG"/mode ] && echo "$DEFAULT_MODE" > "$CONFIG"/mode
set_wallpaper() {
if [ -f "$1" ]; then
WALLPAPER="$1"
else
echo "Invalid wallpaper path: $1"
exit 1
fi
}
set_mode() {
if [ "$1" = "light" ] || [ "$1" = "dark" ]; then
MODE="$1"
else
echo "Invalid mode: $1. Use 'light' or 'dark'."
exit 1
fi
}
toggle_mode() {
if [ "$(cat "$CONFIG"/mode)" = "light" ]; then
MODE="dark"
else
MODE="light"
fi
}
show_usage() {
echo "Usage: theme {toggle|light|dark|mode <mode>|wallpaper <file> [mode]}"
}
finish() {
[ -n "$WALLPAPER" ] && ln -sf "$WALLPAPER" "$CONFIG"/wallpaper
[ -n "$MODE" ] && echo "$MODE" > "$CONFIG"/mode
{
"$SWITCH"
} > /dev/null
}
WALLPAPER=""
MODE=""
if [ $# -eq 0 ]; then
finish
else
case "$1" in
toggle)
if [ $# -eq 1 ]; then
toggle_mode
else
show_usage
exit 1
fi
;;
light)
if [ $# -eq 1 ]; then
set_mode "light"
else
show_usage
exit 1
fi
;;
dark)
if [ $# -eq 1 ]; then
set_mode "dark"
else
show_usage
exit 1
fi
;;
mode)
if [ $# -eq 2 ]; then
set_mode "$2"
else
show_usage
exit 1
fi
;;
wallpaper)
if [ $# -ge 2 ] && [ $# -le 3 ]; then
set_wallpaper "$2"
[ $# -eq 3 ] && set_mode "$3"
else
show_usage
exit 1
fi
;;
*)
show_usage
exit 1
;;
esac
finish
fi

View File

@@ -1,11 +1,11 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
agsConfig = (import ./config { inherit pkgs; }); agsConfig = (import ./config { inherit pkgs; });
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home.packages = with pkgs; [ ags ]; home.packages = with pkgs; [ ags ];
xdg.configFile.ags = { xdg.configFile.ags = {
@@ -27,9 +27,7 @@ in
nixos-icons nixos-icons
rofi-wayland rofi-wayland
]; ];
text = '' text = "ags &> /tmp/ags.log";
ags &> /tmp/ags.log
'';
})} &"; })} &";
}; };
} }

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { lib, pkgs, ... }: { user ? throw "user argument is required" }: { lib, pkgs, ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home.packages = with pkgs; [ brightnessctl ]; home.packages = with pkgs; [ brightnessctl ];
wayland.windowManager.hyprland.settings.bindle = wayland.windowManager.hyprland.settings.bindle =

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required", gpu ? false }: { config, lib, pkgs, ... }: { user ? throw "user argument is required", gpu ? false }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs = { programs = {
btop = { btop = {
enable = true; enable = true;
@@ -30,9 +30,7 @@ in
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication { theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
name = "reload-btop"; name = "reload-btop";
runtimeInputs = with pkgs; [ procps ]; runtimeInputs = with pkgs; [ procps ];
text = '' text = "pkill btop -SIGUSR2";
pkill btop -SIGUSR2
'';
})} &"; })} &";
}; };
} }

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { lib, pkgs, ... }: { user ? throw "user argument is required" }: { lib, pkgs, ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.firefox = { programs.firefox = {
enable = true; enable = true;

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.git = { programs.git = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;

View File

@@ -1,11 +1,11 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
gpgPath = "${hmConfig.xdg.dataHome}/gnupg"; gpgPath = "${hmConfig.xdg.dataHome}/gnupg";
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.gpg = { programs.gpg = {
enable = true; enable = true;
homedir = gpgPath; homedir = gpgPath;

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
gtk = { gtk = {
enable = true; enable = true;

View File

@@ -1,12 +1,12 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
programs.hyprland.enable = true; programs.hyprland.enable = true;
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
@@ -110,9 +110,7 @@ in
input.touchpad.natural_scroll = true; input.touchpad.natural_scroll = true;
}; };
extraConfig = '' extraConfig = "source = ./theme.conf";
source = ./theme.conf
'';
}; };
programs = { programs = {
@@ -131,9 +129,7 @@ in
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication { theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
name = "reload-hyprland"; name = "reload-hyprland";
runtimeInputs = with pkgs; [ hyprland ]; runtimeInputs = with pkgs; [ hyprland ];
text = '' text = "hyprctl reload";
hyprctl reload
'';
})} &"; })} &";
home.sessionVariables.NIXOS_OZONE_WL = "1"; home.sessionVariables.NIXOS_OZONE_WL = "1";

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home = { home = {
packages = with pkgs; [ hyprshot swappy ]; packages = with pkgs; [ hyprshot swappy ];
sessionVariables.HYPRSHOT_DIR = "${hmConfig.xdg.userDirs.pictures}/screenshots"; sessionVariables.HYPRSHOT_DIR = "${hmConfig.xdg.userDirs.pictures}/screenshots";
@@ -19,9 +19,7 @@ in
swappyWrapper = lib.meta.getExe (pkgs.writeShellApplication { swappyWrapper = lib.meta.getExe (pkgs.writeShellApplication {
name = "swappy-wrapper"; name = "swappy-wrapper";
runtimeInputs = with pkgs; [ swappy ]; runtimeInputs = with pkgs; [ swappy ];
text = '' text = "swappy -f \"$1\"";
swappy -f "$1"
'';
}); });
in in
[ [

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs = { programs = {
kitty = { kitty = {
enable = true; enable = true;
@@ -23,9 +23,7 @@ in
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication { theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
name = "reload-kitty"; name = "reload-kitty";
runtimeInputs = with pkgs; [ procps ]; runtimeInputs = with pkgs; [ procps ];
text = '' text = "pkill kitty -SIGUSR1";
pkill kitty -SIGUSR1
'';
})} &"; })} &";
home.persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/kitty" ]; home.persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/kitty" ];

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.matugen = { programs.matugen = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { ... }: { user ? throw "user argument is required" }: { ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;

View File

@@ -1,5 +1,5 @@
{ user ? throw "user argument is required" }: { pkgs, ... }: { user ? throw "user argument is required" }: { pkgs, ... }:
{ {
home-manager.users."${user.name}".home.packages = with pkgs; [ pavucontrol ]; home-manager.users.${user.name}.home.packages = with pkgs; [ pavucontrol ];
} }

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { pkgs, ... }: { user ? throw "user argument is required" }: { pkgs, ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
wayland.windowManager.hyprland.settings = wayland.windowManager.hyprland.settings =
let let
wpctl = "${pkgs.wireplumber}/bin/wpctl"; wpctl = "${pkgs.wireplumber}/bin/wpctl";

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { lib, pkgs, ... }: { user ? throw "user argument is required" }: { lib, pkgs, ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home.packages = with pkgs; [ playerctl ]; home.packages = with pkgs; [ playerctl ];
services.playerctld.enable = true; services.playerctld.enable = true;

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { lib, config, pkgs, ... }: { user ? throw "user argument is required" }: { lib, config, pkgs, ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home.packages = with pkgs; [ qalculate-gtk ]; home.packages = with pkgs; [ qalculate-gtk ];
wayland.windowManager.hyprland.settings.bind = [ wayland.windowManager.hyprland.settings.bind = [

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home = { home = {
packages = with pkgs; [ rofi-wayland ]; packages = with pkgs; [ rofi-wayland ];
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/rofi" ]; persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/rofi" ];

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
home = { home = {
packages = with pkgs; [ swww ]; packages = with pkgs; [ swww ];
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/swww" ]; persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/swww" ];
@@ -31,9 +31,7 @@ in
procps procps
swww swww
]; ];
text = '' text = "swww img \"${hmConfig.theme.configDir}/wallpaper\"";
swww img "${hmConfig.theme.configDir}/wallpaper"
'';
})} &"; })} &";
}; };
} }

View File

@@ -1,11 +1,11 @@
{ user ? throw "user argument is required" }: { config, inputs, lib, pkgs, ... }: { user ? throw "user argument is required" }: { config, inputs, lib, pkgs, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
themeBin = lib.meta.getExe hmConfig.theme.pkg; themeBin = lib.meta.getExe hmConfig.theme.pkg;
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
theme.enable = true; theme.enable = true;
wayland.windowManager.hyprland.settings.bind = [ wayland.windowManager.hyprland.settings.bind = [
@@ -14,10 +14,7 @@ in
]; ];
home = { home = {
activation.themeInit = inputs.home-manager.lib.hm.dag.entryAfter [ "writeBoundary" ] '' activation.themeInit = inputs.home-manager.lib.hm.dag.entryAfter [ "writeBoundary" ] "run ${themeBin}";
run ${themeBin}
'';
persistence."/persist${user.home}".directories = [ "${hmConfig.xdg.relativeConfigHome}/theme" ]; persistence."/persist${user.home}".directories = [ "${hmConfig.xdg.relativeConfigHome}/theme" ];
}; };
}; };

View File

@@ -1,7 +1,7 @@
{ user ? throw "user argument is required" }: { inputs, lib, pkgs, ... }: { user ? throw "user argument is required" }: { inputs, lib, pkgs, ... }:
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.vscode = { programs.vscode = {
enable = true; enable = true;
mutableExtensionsDir = false; mutableExtensionsDir = false;

View File

@@ -1,5 +1,5 @@
{ user ? throw "user argument is required" }: { pkgs, ... }: { user ? throw "user argument is required" }: { pkgs, ... }:
{ {
home-manager.users."${user.name}".home.packages = with pkgs; [ wev ]; home-manager.users.${user.name}.home.packages = with pkgs; [ wev ];
} }

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, ... }: { user ? throw "user argument is required" }: { config, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
xresources.path = "${hmConfig.xdg.configHome}/X11/xresources"; xresources.path = "${hmConfig.xdg.configHome}/X11/xresources";
}; };
} }

View File

@@ -1,10 +1,10 @@
{ user ? throw "user argument is required" }: { config, ... }: { user ? throw "user argument is required" }: { config, ... }:
let let
hmConfig = config.home-manager.users."${user.name}"; hmConfig = config.home-manager.users.${user.name};
in in
{ {
home-manager.users."${user.name}" = { home-manager.users.${user.name} = {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
dotDir = "${hmConfig.xdg.relativeConfigHome}/zsh"; dotDir = "${hmConfig.xdg.relativeConfigHome}/zsh";