Remove unnecessary quotes
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
10
hosts/eirene/base/card.sh
Normal file
10
hosts/eirene/base/card.sh
Normal 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
|
@@ -58,18 +58,7 @@
|
||||
}];
|
||||
};
|
||||
|
||||
programs.zsh.loginExtra = lib.mkBefore ''
|
||||
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
|
||||
'';
|
||||
programs.zsh.loginExtra = lib.mkBefore (builtins.readFile ./card.sh);
|
||||
|
||||
theme = {
|
||||
cursor.size = 24;
|
||||
|
@@ -21,16 +21,12 @@ in
|
||||
config = {
|
||||
wayland.windowManager.hyprland.settings.exec-once = lib.meta.getExe (pkgs.writeShellApplication {
|
||||
name = "init-hyprland";
|
||||
text = ''
|
||||
${cfg.initExtraConfig}
|
||||
'';
|
||||
text = cfg.initExtraConfig;
|
||||
});
|
||||
|
||||
wayland.windowManager.hyprland.settings.exec = lib.meta.getExe (pkgs.writeShellApplication {
|
||||
name = "reload-hyprland";
|
||||
text = ''
|
||||
${cfg.reloadExtraConfig}
|
||||
'';
|
||||
text = cfg.reloadExtraConfig;
|
||||
});
|
||||
};
|
||||
}
|
||||
|
@@ -6,106 +6,13 @@ let
|
||||
name = "theme";
|
||||
runtimeInputs = with pkgs; [ coreutils-full ];
|
||||
bashOptions = [ "nounset" "pipefail" ];
|
||||
text = ''
|
||||
[ ! -L "${cfg.configDir}/wallpaper" ] && ln -sf "${cfg.wallpaper}" "${cfg.configDir}/wallpaper"
|
||||
[ ! -f "${cfg.configDir}/mode" ] && echo "${cfg.mode}" > "${cfg.configDir}/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 "${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
|
||||
'';
|
||||
runtimeEnv = {
|
||||
CONFIG = cfg.configDir;
|
||||
DEFAULT_WALLPAPER = cfg.wallpaper;
|
||||
DEFAULT_MODE = cfg.mode;
|
||||
SWITCH = lib.meta.getExe (pkgs.writeShellScriptBin "themeExtraConfig" cfg.extraConfig);
|
||||
};
|
||||
text = builtins.readFile ./theme.sh;
|
||||
};
|
||||
in
|
||||
{
|
||||
|
98
users/common/options/home-manager/theme/theme.sh
Normal file
98
users/common/options/home-manager/theme/theme.sh
Normal 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
|
@@ -1,11 +1,11 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
agsConfig = (import ./config { inherit pkgs; });
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
home.packages = with pkgs; [ ags ];
|
||||
|
||||
xdg.configFile.ags = {
|
||||
@@ -27,9 +27,7 @@ in
|
||||
nixos-icons
|
||||
rofi-wayland
|
||||
];
|
||||
text = ''
|
||||
ags &> /tmp/ags.log
|
||||
'';
|
||||
text = "ags &> /tmp/ags.log";
|
||||
})} &";
|
||||
};
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ user ? throw "user argument is required" }: { lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
home.packages = with pkgs; [ brightnessctl ];
|
||||
|
||||
wayland.windowManager.hyprland.settings.bindle =
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required", gpu ? false }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs = {
|
||||
btop = {
|
||||
enable = true;
|
||||
@@ -30,9 +30,7 @@ in
|
||||
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
|
||||
name = "reload-btop";
|
||||
runtimeInputs = with pkgs; [ procps ];
|
||||
text = ''
|
||||
pkill btop -SIGUSR2
|
||||
'';
|
||||
text = "pkill btop -SIGUSR2";
|
||||
})} &";
|
||||
};
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ user ? throw "user argument is required" }: { lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
|
@@ -1,11 +1,11 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
gpgPath = "${hmConfig.xdg.dataHome}/gnupg";
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
homedir = gpgPath;
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
|
@@ -1,12 +1,12 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
||||
@@ -110,9 +110,7 @@ in
|
||||
input.touchpad.natural_scroll = true;
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
source = ./theme.conf
|
||||
'';
|
||||
extraConfig = "source = ./theme.conf";
|
||||
};
|
||||
|
||||
programs = {
|
||||
@@ -131,9 +129,7 @@ in
|
||||
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
|
||||
name = "reload-hyprland";
|
||||
runtimeInputs = with pkgs; [ hyprland ];
|
||||
text = ''
|
||||
hyprctl reload
|
||||
'';
|
||||
text = "hyprctl reload";
|
||||
})} &";
|
||||
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
home = {
|
||||
packages = with pkgs; [ hyprshot swappy ];
|
||||
sessionVariables.HYPRSHOT_DIR = "${hmConfig.xdg.userDirs.pictures}/screenshots";
|
||||
@@ -19,9 +19,7 @@ in
|
||||
swappyWrapper = lib.meta.getExe (pkgs.writeShellApplication {
|
||||
name = "swappy-wrapper";
|
||||
runtimeInputs = with pkgs; [ swappy ];
|
||||
text = ''
|
||||
swappy -f "$1"
|
||||
'';
|
||||
text = "swappy -f \"$1\"";
|
||||
});
|
||||
in
|
||||
[
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs = {
|
||||
kitty = {
|
||||
enable = true;
|
||||
@@ -23,9 +23,7 @@ in
|
||||
theme.extraConfig = "${lib.meta.getExe (pkgs.writeShellApplication {
|
||||
name = "reload-kitty";
|
||||
runtimeInputs = with pkgs; [ procps ];
|
||||
text = ''
|
||||
pkill kitty -SIGUSR1
|
||||
'';
|
||||
text = "pkill kitty -SIGUSR1";
|
||||
})} &";
|
||||
|
||||
home.persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/kitty" ];
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.matugen = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ user ? throw "user argument is required" }: { ... }:
|
||||
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{ 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 ];
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ user ? throw "user argument is required" }: { pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
wayland.windowManager.hyprland.settings =
|
||||
let
|
||||
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ user ? throw "user argument is required" }: { lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
home.packages = with pkgs; [ playerctl ];
|
||||
services.playerctld.enable = true;
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ 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 ];
|
||||
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
home = {
|
||||
packages = with pkgs; [ rofi-wayland ];
|
||||
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/rofi" ];
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
home = {
|
||||
packages = with pkgs; [ swww ];
|
||||
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/swww" ];
|
||||
@@ -31,9 +31,7 @@ in
|
||||
procps
|
||||
swww
|
||||
];
|
||||
text = ''
|
||||
swww img "${hmConfig.theme.configDir}/wallpaper"
|
||||
'';
|
||||
text = "swww img \"${hmConfig.theme.configDir}/wallpaper\"";
|
||||
})} &";
|
||||
};
|
||||
}
|
||||
|
@@ -1,11 +1,11 @@
|
||||
{ user ? throw "user argument is required" }: { config, inputs, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
themeBin = lib.meta.getExe hmConfig.theme.pkg;
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
theme.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
||||
@@ -14,10 +14,7 @@ in
|
||||
];
|
||||
|
||||
home = {
|
||||
activation.themeInit = inputs.home-manager.lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
run ${themeBin}
|
||||
'';
|
||||
|
||||
activation.themeInit = inputs.home-manager.lib.hm.dag.entryAfter [ "writeBoundary" ] "run ${themeBin}";
|
||||
persistence."/persist${user.home}".directories = [ "${hmConfig.xdg.relativeConfigHome}/theme" ];
|
||||
};
|
||||
};
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{ user ? throw "user argument is required" }: { inputs, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
mutableExtensionsDir = false;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{ 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 ];
|
||||
}
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
xresources.path = "${hmConfig.xdg.configHome}/X11/xresources";
|
||||
};
|
||||
}
|
||||
|
@@ -1,10 +1,10 @@
|
||||
{ user ? throw "user argument is required" }: { config, ... }:
|
||||
|
||||
let
|
||||
hmConfig = config.home-manager.users."${user.name}";
|
||||
hmConfig = config.home-manager.users.${user.name};
|
||||
in
|
||||
{
|
||||
home-manager.users."${user.name}" = {
|
||||
home-manager.users.${user.name} = {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
dotDir = "${hmConfig.xdg.relativeConfigHome}/zsh";
|
||||
|
Reference in New Issue
Block a user