(desktop) Gen 494: reformatted several files using alejandra
This commit is contained in:
@@ -1,29 +1,33 @@
|
||||
{ host, nur, self, inputs, username, config, home-manager, ... }:
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (import ./programs/btop.nix) ]
|
||||
++ [ (import ./programs/yazi.nix) ]
|
||||
++ [ (import ./programs/kitty.nix) ]
|
||||
++ [ (import ./programs/fuzzel.nix) ]
|
||||
++ [ (import ./programs/eza.nix) ]
|
||||
++ [ (import ./programs/cava.nix) ]
|
||||
++ [ (import ./programs/bat.nix) ]
|
||||
++ [ (import ./programs/fzf.nix) ]
|
||||
++ [ (import ./programs/git.nix) ]
|
||||
++ [ (import ./programs/password-store.nix) ]
|
||||
++ [ (import ./programs/autojump.nix) ]
|
||||
++ [ (import ./environment/gtk.nix) ]
|
||||
++ [ (import ./environment/spicetify.nix) ]
|
||||
++ [ (import ./environment/starship.nix) ]
|
||||
++ [ (import ./environment/desktop_userpkgs.nix) ]
|
||||
++ [ (import ./environment/zshell.nix) ]
|
||||
++ [ (import ./firefox/firefox.nix) ]
|
||||
++ [ (import ./hyprland) ]
|
||||
++ [ (import ./scripts ) ]
|
||||
++ [ (import ./swaync/swaync.nix) ]
|
||||
++ [ (import ./waybar) ];
|
||||
host,
|
||||
nur,
|
||||
self,
|
||||
inputs,
|
||||
username,
|
||||
config,
|
||||
home-manager,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[(import ./programs/btop.nix)]
|
||||
++ [(import ./programs/yazi.nix)]
|
||||
++ [(import ./programs/kitty.nix)]
|
||||
++ [(import ./programs/fuzzel.nix)]
|
||||
++ [(import ./programs/eza.nix)]
|
||||
++ [(import ./programs/cava.nix)]
|
||||
++ [(import ./programs/bat.nix)]
|
||||
++ [(import ./programs/fzf.nix)]
|
||||
++ [(import ./programs/git.nix)]
|
||||
++ [(import ./programs/password-store.nix)]
|
||||
++ [(import ./programs/autojump.nix)]
|
||||
++ [(import ./environment/gtk.nix)]
|
||||
++ [(import ./environment/spicetify.nix)]
|
||||
++ [(import ./environment/starship.nix)]
|
||||
++ [(import ./environment/desktop_userpkgs.nix)]
|
||||
++ [(import ./environment/zshell.nix)]
|
||||
++ [(import ./firefox/firefox.nix)]
|
||||
++ [(import ./hyprland)]
|
||||
++ [(import ./scripts)]
|
||||
++ [(import ./swaync/swaync.nix)]
|
||||
++ [(import ./waybar)];
|
||||
}
|
||||
|
||||
@@ -1,37 +1,39 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
zathura
|
||||
gimp
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
lolcat
|
||||
speedtest-cli
|
||||
vesktop
|
||||
qbittorrent
|
||||
obs-studio
|
||||
neovide
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
snes9x-gtk
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
zathura
|
||||
gimp
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
lolcat
|
||||
speedtest-cli
|
||||
vesktop
|
||||
qbittorrent
|
||||
obs-studio
|
||||
neovide
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
audacity
|
||||
snes9x-gtk
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
{ pkgs, config, ... }:
|
||||
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [
|
||||
pkgs.nerdfonts
|
||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "Noto" ]; })
|
||||
(pkgs.nerdfonts.override {fonts = ["JetBrainsMono" "Noto"];})
|
||||
pkgs.twemoji-color-font
|
||||
pkgs.noto-fonts-emoji
|
||||
];
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
starship
|
||||
zathura
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
speedtest-cli
|
||||
vesktop
|
||||
obs-studio
|
||||
neovide
|
||||
chromium
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nvim = inputs.nvim.packages."x86_64-linux".default;
|
||||
toilet = inputs.toilet.packages."x86_64-linux".default;
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
gtk3
|
||||
uhk-agent
|
||||
sqlite
|
||||
starship
|
||||
zathura
|
||||
imagemagick
|
||||
yt-dlp
|
||||
vlc
|
||||
speedtest-cli
|
||||
vesktop
|
||||
obs-studio
|
||||
neovide
|
||||
chromium
|
||||
zsh
|
||||
zsh-syntax-highlighting
|
||||
zsh-history-substring-search
|
||||
zsh-autosuggestions
|
||||
rustup
|
||||
libreoffice
|
||||
handbrake
|
||||
gtrash
|
||||
ripgrep
|
||||
nvim
|
||||
toilet
|
||||
python3
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
{ pkgs, lib, inputs, ...}:
|
||||
|
||||
let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||
in
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||
in {
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"spotify"
|
||||
@@ -13,12 +15,12 @@ in
|
||||
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
theme = spicePkgs.themes.catppuccin;
|
||||
colorScheme = "mocha";
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
adblock
|
||||
hidePodcasts
|
||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||
];
|
||||
theme = spicePkgs.themes.catppuccin;
|
||||
colorScheme = "mocha";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,61 +1,63 @@
|
||||
{ lib, inputs, ... }:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
right_format = "($custom)";
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
settings =
|
||||
{
|
||||
add_newline = true;
|
||||
right_format = "($custom)";
|
||||
|
||||
format = lib.concatStrings [
|
||||
"($username)(bold white)($cmd_duration)($character)"
|
||||
"($git_branch)($git_status)($rust)($nix-shell)"
|
||||
"($directory)"
|
||||
"$line_break[ > ](bold #89b4fa)"
|
||||
];
|
||||
format = lib.concatStrings [
|
||||
"($username)(bold white)($cmd_duration)($character)"
|
||||
"($git_branch)($git_status)($rust)($nix-shell)"
|
||||
"($directory)"
|
||||
"$line_break[ > ](bold #89b4fa)"
|
||||
];
|
||||
|
||||
|
||||
username = {
|
||||
show_always = true;
|
||||
style_user = "bold white";
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
style_user = "bold white";
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
format = "\n[$path](bold cyan)[/](bold green) ";
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[ -> ](bold green)";
|
||||
error_symbol = "[ -> ✗](bold red)";
|
||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||
};
|
||||
character = {
|
||||
success_symbol = "[ -> ](bold green)";
|
||||
error_symbol = "[ -> ✗](bold red)";
|
||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
format = "[ $duration]($style)";
|
||||
disabled = false;
|
||||
style = "bg:none fg:#f9e2af";
|
||||
show_notifications = false;
|
||||
min_time_to_notify = 60000;
|
||||
};
|
||||
cmd_duration = {
|
||||
format = "[ $duration]($style)";
|
||||
disabled = false;
|
||||
style = "bg:none fg:#f9e2af";
|
||||
show_notifications = false;
|
||||
min_time_to_notify = 60000;
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
format = "\non [$symbol$branch](bold purple)";
|
||||
symbol = " ";
|
||||
truncation_length = 15;
|
||||
style = "bold purple";
|
||||
};
|
||||
git_branch = {
|
||||
format = "\non [$symbol$branch](bold purple)";
|
||||
symbol = " ";
|
||||
truncation_length = 15;
|
||||
style = "bold purple";
|
||||
};
|
||||
|
||||
custom.shellver = {
|
||||
command = "zsh --version";
|
||||
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
||||
symbol = "";
|
||||
style = "bold magenta";
|
||||
};
|
||||
custom.shellver = {
|
||||
command = "zsh --version";
|
||||
when = ''test $SHELL = "/run/current-system/sw/bin/zsh"'';
|
||||
symbol = "";
|
||||
style = "bold magenta";
|
||||
};
|
||||
|
||||
palette = "catppuccin_mocha";
|
||||
} // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
|
||||
};
|
||||
palette = "catppuccin_mocha";
|
||||
}
|
||||
// builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/themes/mocha.toml");
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,138 +1,134 @@
|
||||
{ self, ... }:
|
||||
{self, ...}: {
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
sessionVariables = {
|
||||
SOUNDS_ENABLED = "1";
|
||||
EDITOR = "/nixbin/nvim";
|
||||
SUDO_EDITOR = "/nixbin/nvim";
|
||||
VISUAL = "/nixbin/nvim";
|
||||
LANG = "en_US.UTF-8";
|
||||
BROWSER = "/nixbin/firefox";
|
||||
NVIM = "${self}/nixvim/config/";
|
||||
HYPRCONF = "${self}/hyprland/";
|
||||
SYSCONF = "${self}/glasshouse-desktop/sys";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
SOUNDS_ENABLED = "1";
|
||||
EDITOR = "/nixbin/nvim";
|
||||
SUDO_EDITOR = "/nixbin/nvim";
|
||||
VISUAL = "/nixbin/nvim";
|
||||
LANG = "en_US.UTF-8";
|
||||
BROWSER = "/nixbin/firefox";
|
||||
NVIM = "${self}/nixvim/config/";
|
||||
HYPRCONF = "${self}/hyprland/";
|
||||
SYSCONF = "${self}/glasshouse-desktop/sys";
|
||||
};
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = ["git" "fzf"];
|
||||
};
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" "fzf" ];
|
||||
};
|
||||
enableCompletion = true;
|
||||
history = {
|
||||
path = "$HOME/.zsh_history";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
share = true;
|
||||
};
|
||||
|
||||
enableCompletion = true;
|
||||
history = {
|
||||
path = "$HOME/.zsh_history";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
share = true;
|
||||
};
|
||||
autosuggestion = {
|
||||
enable = true;
|
||||
highlight = "fg=#4C566A,underline";
|
||||
};
|
||||
|
||||
autosuggestion = {
|
||||
enable = true;
|
||||
highlight = "fg=#4C566A,underline";
|
||||
};
|
||||
shellAliases = {
|
||||
grep = "grep --color=auto";
|
||||
yazi = "y";
|
||||
vi = "nvim";
|
||||
mv = "mv -v";
|
||||
cp = "cp -vr";
|
||||
gt = "gtrash";
|
||||
gtp = "gtrash put";
|
||||
grub-update = "sudo grub-mkconfig -o /boot/grub/grub.cfg";
|
||||
sr = "source ~/.zshrc";
|
||||
".." = "cd ..";
|
||||
rm = "echo 'use \"gtp\" instead'";
|
||||
psg = "ps aux | grep -v grep | grep -i -e VSZ -e";
|
||||
mkdir = "mkdir -p";
|
||||
pk = "pkill -9 -f";
|
||||
zrc = "nvim $HOME/dots/zshell.nix";
|
||||
svcu = "systemctl --user";
|
||||
svc = "sudo systemctl";
|
||||
hyprconf = "nvim $HOME/dots/hyprland/config.nix";
|
||||
nixconf = "nvim $HOME/sysflakes/glasshouse-desktop/sys";
|
||||
hmconf = "nvim $HOME/sysflakes/glasshouse-desktop/home";
|
||||
viflake = "nvim flake.nix";
|
||||
nvimcfg = "nvim $HOME/dots/nixvim/config";
|
||||
};
|
||||
initExtra = ''
|
||||
|
||||
shellAliases = {
|
||||
grep = "grep --color=auto";
|
||||
yazi = "y";
|
||||
vi = "nvim";
|
||||
mv = "mv -v";
|
||||
cp = "cp -vr";
|
||||
gt = "gtrash";
|
||||
gtp = "gtrash put";
|
||||
grub-update = "sudo grub-mkconfig -o /boot/grub/grub.cfg";
|
||||
sr = "source ~/.zshrc";
|
||||
".." = "cd ..";
|
||||
rm = "echo 'use \"gtp\" instead'";
|
||||
psg = "ps aux | grep -v grep | grep -i -e VSZ -e" ;
|
||||
mkdir = "mkdir -p";
|
||||
pk = "pkill -9 -f";
|
||||
zrc = "nvim $HOME/dots/zshell.nix";
|
||||
svcu = "systemctl --user";
|
||||
svc = "sudo systemctl";
|
||||
hyprconf = "nvim $HOME/dots/hyprland/config.nix";
|
||||
nixconf = "nvim $HOME/sysflakes/glasshouse-desktop/sys";
|
||||
hmconf = "nvim $HOME/sysflakes/glasshouse-desktop/home";
|
||||
viflake = "nvim flake.nix";
|
||||
nvimcfg = "nvim $HOME/dots/nixvim/config";
|
||||
};
|
||||
initExtra = ''
|
||||
unalias ls
|
||||
ls() {
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
scheck && runbg aplay ${self}/media/sound/ls.wav
|
||||
}
|
||||
|
||||
unalias ls
|
||||
ls() {
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
scheck && runbg aplay ${self}/media/sound/ls.wav
|
||||
}
|
||||
y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||
builtin cd -- "$cwd"
|
||||
fi
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
|
||||
y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||
builtin cd -- "$cwd"
|
||||
fi
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
cd() {
|
||||
export SOUNDS_ENABLED=0
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
builtin cd "$@" || exit
|
||||
export SOUNDS_ENABLED=1
|
||||
scheck && runbg aplay ${self}/media/sound/cd.wav
|
||||
}
|
||||
if [ ! -e $HOME/.zsh_history ]; then
|
||||
touch $HOME/.zsh_history
|
||||
chmod 600 $HOME/.zsh_history
|
||||
fi
|
||||
setopt APPEND_HISTORY # Append history to the history file (don't overwrite)
|
||||
setopt INC_APPEND_HISTORY # Append to the history file incrementally
|
||||
setopt SHARE_HISTORY # Share history between all zsh sessions
|
||||
|
||||
cd() {
|
||||
export SOUNDS_ENABLED=0
|
||||
eza -1 --group-directories-first --icons "$@"
|
||||
builtin cd "$@" || exit
|
||||
export SOUNDS_ENABLED=1
|
||||
scheck && runbg aplay ${self}/media/sound/cd.wav
|
||||
}
|
||||
if [ ! -e $HOME/.zsh_history ]; then
|
||||
touch $HOME/.zsh_history
|
||||
chmod 600 $HOME/.zsh_history
|
||||
fi
|
||||
setopt APPEND_HISTORY # Append history to the history file (don't overwrite)
|
||||
setopt INC_APPEND_HISTORY # Append to the history file incrementally
|
||||
setopt SHARE_HISTORY # Share history between all zsh sessions
|
||||
sessionVariables = {
|
||||
setopt CORRECT
|
||||
setopt NO_NOMATCH
|
||||
setopt LIST_PACKED
|
||||
setopt ALWAYS_TO_END
|
||||
setopt GLOB_COMPLETE
|
||||
setopt COMPLETE_ALIASES
|
||||
setopt COMPLETE_IN_WORD
|
||||
setopt AUTO_CD
|
||||
setopt AUTO_CONTINUE
|
||||
setopt LONG_LIST_JOBS
|
||||
setopt HIST_VERIFY
|
||||
setopt SHARE_HISTORY
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt EXTENDED_GLOB
|
||||
setopt TRANSIENT_RPROMPT
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
|
||||
sessionVariables = {
|
||||
setopt CORRECT
|
||||
setopt NO_NOMATCH
|
||||
setopt LIST_PACKED
|
||||
setopt ALWAYS_TO_END
|
||||
setopt GLOB_COMPLETE
|
||||
setopt COMPLETE_ALIASES
|
||||
setopt COMPLETE_IN_WORD
|
||||
setopt AUTO_CD
|
||||
setopt AUTO_CONTINUE
|
||||
setopt LONG_LIST_JOBS
|
||||
setopt HIST_VERIFY
|
||||
setopt SHARE_HISTORY
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt EXTENDED_GLOB
|
||||
setopt TRANSIENT_RPROMPT
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
autoload -U compinit # completion
|
||||
autoload -U terminfo # terminfo keys
|
||||
zmodload -i zsh/complist # menu completion
|
||||
autoload -U promptinit # prompt
|
||||
|
||||
autoload -U compinit # completion
|
||||
autoload -U terminfo # terminfo keys
|
||||
zmodload -i zsh/complist # menu completion
|
||||
autoload -U promptinit # prompt
|
||||
|
||||
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
||||
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
||||
|
||||
bindkey -v
|
||||
type starship_zle-keymap-select >/dev/null || \
|
||||
{
|
||||
eval "$(starship init zsh)"
|
||||
}
|
||||
unalias ls
|
||||
clear
|
||||
splash
|
||||
scheck && runbg aplay ${self}/media/sound/sh-source.wav
|
||||
'';
|
||||
};
|
||||
autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search
|
||||
autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search
|
||||
|
||||
bindkey -v
|
||||
type starship_zle-keymap-select >/dev/null || \
|
||||
{
|
||||
eval "$(starship init zsh)"
|
||||
}
|
||||
unalias ls
|
||||
clear
|
||||
splash
|
||||
scheck && runbg aplay ${self}/media/sound/sh-source.wav
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,92 +1,102 @@
|
||||
{ nur, username, self, ... }:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value= true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{ name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{ name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{ name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{ name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{ name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{ name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{ name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"browser.display.foreground_color.dark" = "#FBFBFE";
|
||||
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
||||
"browser.display.use_system_colors" = "false";
|
||||
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
||||
"browser.theme.colorway-closet" = "true";
|
||||
"browser.theme.colorway-migration" = "true";
|
||||
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
||||
"browser.visited_color" = "#551A8B";
|
||||
"browser.visited_color.dark" = "#FFADFF";
|
||||
"browser.newtabpage.pinned" = [{
|
||||
title = "Homepage";
|
||||
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
}];
|
||||
"devtools.defaultColorUnit" = "authored";
|
||||
"editor.background_color" = "#FFFFFF";
|
||||
"editor.use_custom_colors" = "false";
|
||||
'';
|
||||
};
|
||||
};
|
||||
nur,
|
||||
username,
|
||||
self,
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{
|
||||
name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{
|
||||
name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{
|
||||
name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{
|
||||
name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{
|
||||
name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{
|
||||
name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"browser.display.foreground_color.dark" = "#FBFBFE";
|
||||
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
||||
"browser.display.use_system_colors" = "false";
|
||||
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
||||
"browser.theme.colorway-closet" = "true";
|
||||
"browser.theme.colorway-migration" = "true";
|
||||
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
||||
"browser.visited_color" = "#551A8B";
|
||||
"browser.visited_color.dark" = "#FFADFF";
|
||||
"browser.newtabpage.pinned" = [{
|
||||
title = "Homepage";
|
||||
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
}];
|
||||
"devtools.defaultColorUnit" = "authored";
|
||||
"editor.background_color" = "#FFFFFF";
|
||||
"editor.use_custom_colors" = "false";
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
{ inputs, host, ... }:
|
||||
|
||||
let
|
||||
host_config = if (host == "desktop") then [ ./desktop.nix ] else [ ./laptop.nix ];
|
||||
in
|
||||
{
|
||||
imports =
|
||||
[ (import ./hyprland.nix) ]
|
||||
++ [ (import ./hyprpaper.nix) ]
|
||||
++ host_config;
|
||||
inputs,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
host_config =
|
||||
if (host == "desktop")
|
||||
then [./desktop.nix]
|
||||
else [./laptop.nix];
|
||||
in {
|
||||
imports =
|
||||
[(import ./hyprland.nix)]
|
||||
++ [(import ./hyprpaper.nix)]
|
||||
++ host_config;
|
||||
}
|
||||
|
||||
@@ -1,197 +1,194 @@
|
||||
{ username, ... }:
|
||||
{username, ...}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
monitor = [
|
||||
"DP-1, 1920x1080@144, 1920x0, 1"
|
||||
"HDMI-A-1, 1920x1080, 0x0, 1"
|
||||
];
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"swaync &"
|
||||
"wl-paste --watch cliphist store &"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"systemctl --user import-environment &"
|
||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
||||
"aplay /home/${username}/sound/sys/login.wav &"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"DP-1, 1920x1080@144, 1920x0, 1"
|
||||
"HDMI-A-1, 1920x1080, 0x0, 1"
|
||||
];
|
||||
workspace = [
|
||||
"1,persistent=true,monitor:HDMI-A-1"
|
||||
"2,persistent=true,monitor:HDMI-A-1"
|
||||
"3,persistent=true,monitor:HDMI-A-1"
|
||||
"4,persistent=true,monitor:DP-1"
|
||||
"5,persistent=true,monitor:DP-1"
|
||||
"6,persistent=true,monitor:DP-1"
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"swaync &"
|
||||
"wl-paste --watch cliphist store &"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"systemctl --user import-environment &"
|
||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
||||
"aplay /home/${username}/sound/sys/login.wav &"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
"1,persistent=true,monitor:HDMI-A-1"
|
||||
"2,persistent=true,monitor:HDMI-A-1"
|
||||
"3,persistent=true,monitor:HDMI-A-1"
|
||||
"4,persistent=true,monitor:DP-1"
|
||||
"5,persistent=true,monitor:DP-1"
|
||||
"6,persistent=true,monitor:DP-1"
|
||||
];
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
gaps_out = 8;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||
"col.inactive_border" = "0x00000000";
|
||||
border_part_of_window = false;
|
||||
no_border_on_floating = false;
|
||||
};
|
||||
misc = {
|
||||
disable_autoreload = true;
|
||||
disable_hyprland_logo = true;
|
||||
always_follow_on_dnd = true;
|
||||
layers_hog_keyboard_focus = true;
|
||||
animate_manual_resizes = false;
|
||||
enable_swallow = true;
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
gaps_out = 8;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||
"col.inactive_border" = "0x00000000";
|
||||
border_part_of_window = false;
|
||||
no_border_on_floating = false;
|
||||
};
|
||||
misc = {
|
||||
disable_autoreload = true;
|
||||
disable_hyprland_logo = true;
|
||||
always_follow_on_dnd = true;
|
||||
layers_hog_keyboard_focus = true;
|
||||
animate_manual_resizes = false;
|
||||
enable_swallow = true;
|
||||
focus_on_activate = true;
|
||||
};
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
drop_shadow = true;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
|
||||
drop_shadow = true;
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
bezier = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
animation = [
|
||||
# Windows
|
||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||
|
||||
bezier = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||
];
|
||||
|
||||
animation = [
|
||||
# Windows
|
||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||
];
|
||||
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"super shift, 3, movetoworkspace, 3"
|
||||
"super shift, 4, movetoworkspace, 4"
|
||||
"super shift, 5, movetoworkspace, 5"
|
||||
"super shift, 6, movetoworkspace, 6"
|
||||
"super shift, 7, movetoworkspace, 7"
|
||||
"super shift, 8, movetoworkspace, 8"
|
||||
"super shift, 9, movetoworkspace, 9"
|
||||
"super shift, 0, movetoworkspace, 10"
|
||||
"super, s, togglespecialworkspace, magic"
|
||||
"super shift, s, movetoworkspace, special:magic"
|
||||
"alt, grave, togglespecialworkspace, console"
|
||||
"super, mouse_down, workspace, e+1"
|
||||
"super, mouse_up, workspace, e-1"
|
||||
];
|
||||
bindm = [
|
||||
"super, mouse:272, movewindow"
|
||||
"super, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"super shift, 3, movetoworkspace, 3"
|
||||
"super shift, 4, movetoworkspace, 4"
|
||||
"super shift, 5, movetoworkspace, 5"
|
||||
"super shift, 6, movetoworkspace, 6"
|
||||
"super shift, 7, movetoworkspace, 7"
|
||||
"super shift, 8, movetoworkspace, 8"
|
||||
"super shift, 9, movetoworkspace, 9"
|
||||
"super shift, 0, movetoworkspace, 10"
|
||||
"super, s, togglespecialworkspace, magic"
|
||||
"super shift, s, movetoworkspace, special:magic"
|
||||
"alt, grave, togglespecialworkspace, console"
|
||||
"super, mouse_down, workspace, e+1"
|
||||
"super, mouse_up, workspace, e-1"
|
||||
];
|
||||
bindm = [
|
||||
"super, mouse:272, movewindow"
|
||||
"super, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,24 +1,26 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
swaybg
|
||||
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
||||
hyprpicker
|
||||
grim
|
||||
slurp
|
||||
wl-clip-persist
|
||||
wf-recorder
|
||||
glib
|
||||
wayland
|
||||
direnv
|
||||
];
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
systemd.enable = true;
|
||||
};
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
swaybg
|
||||
inputs.hypr-contrib.packages.${pkgs.system}.grimblast
|
||||
hyprpicker
|
||||
grim
|
||||
slurp
|
||||
wl-clip-persist
|
||||
wf-recorder
|
||||
glib
|
||||
wayland
|
||||
direnv
|
||||
];
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = ["xdg-desktop-autostart.target"];
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
systemd.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,20 +1,25 @@
|
||||
{ host, username, ... }:
|
||||
|
||||
{
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
preload = [ "/home/${username}/Pictures/Wallpapers/cat-leaves.png" ];
|
||||
host,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
preload = ["/home/${username}/Pictures/Wallpapers/cat-leaves.png"];
|
||||
|
||||
wallpaper = if (host == "desktop") then [
|
||||
"DP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||
"HDMI-A-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||
] else [
|
||||
"eDP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||
];
|
||||
};
|
||||
};
|
||||
wallpaper =
|
||||
if (host == "desktop")
|
||||
then [
|
||||
"DP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||
"HDMI-A-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||
]
|
||||
else [
|
||||
"eDP-1,/home/${username}/Pictures/Wallpapers/cat-leaves.png"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,196 +1,193 @@
|
||||
{ username, ... }:
|
||||
{username, ...}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
monitor = [
|
||||
"eDP-1, 1920x1080@144, 1920x0, 1"
|
||||
];
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"swaync &"
|
||||
"wl-paste --watch cliphist store &"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"systemctl --user import-environment &"
|
||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
||||
"aplay /home/${username}/sound/sys/login.wav &"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
"eDP-1, 1920x1080@144, 1920x0, 1"
|
||||
];
|
||||
workspace = [
|
||||
"1,persistent=true,monitor:eDP-1"
|
||||
"2,persistent=true,monitor:eDP-1"
|
||||
"3,persistent=true,monitor:eDP-1"
|
||||
"4,persistent=true,monitor:eDP-1"
|
||||
"5,persistent=true,monitor:eDP-1"
|
||||
"6,persistent=true,monitor:eDP-1"
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"waybar &"
|
||||
"swaync &"
|
||||
"wl-paste --watch cliphist store &"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"systemctl --user import-environment &"
|
||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
||||
"aplay /home/${username}/sound/sys/login.wav &"
|
||||
];
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
workspace = [
|
||||
"1,persistent=true,monitor:eDP-1"
|
||||
"2,persistent=true,monitor:eDP-1"
|
||||
"3,persistent=true,monitor:eDP-1"
|
||||
"4,persistent=true,monitor:eDP-1"
|
||||
"5,persistent=true,monitor:eDP-1"
|
||||
"6,persistent=true,monitor:eDP-1"
|
||||
];
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
gaps_out = 8;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||
"col.inactive_border" = "0x00000000";
|
||||
border_part_of_window = false;
|
||||
no_border_on_floating = false;
|
||||
};
|
||||
misc = {
|
||||
disable_autoreload = true;
|
||||
disable_hyprland_logo = true;
|
||||
always_follow_on_dnd = true;
|
||||
layers_hog_keyboard_focus = true;
|
||||
animate_manual_resizes = false;
|
||||
enable_swallow = true;
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
accel_profile = "flat";
|
||||
force_no_accel = 1;
|
||||
sensitivity = 0;
|
||||
};
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
|
||||
general = {
|
||||
"$mainMod" = "super";
|
||||
layout = "dwindle";
|
||||
gaps_in = 4;
|
||||
gaps_out = 8;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgb(cba6f7) rgb(94e2d5) 45deg";
|
||||
"col.inactive_border" = "0x00000000";
|
||||
border_part_of_window = false;
|
||||
no_border_on_floating = false;
|
||||
};
|
||||
misc = {
|
||||
disable_autoreload = true;
|
||||
disable_hyprland_logo = true;
|
||||
always_follow_on_dnd = true;
|
||||
layers_hog_keyboard_focus = true;
|
||||
animate_manual_resizes = false;
|
||||
enable_swallow = true;
|
||||
focus_on_activate = true;
|
||||
};
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
no_gaps_when_only = false;
|
||||
force_split = 0;
|
||||
special_scale_factor = 1.0;
|
||||
split_width_multiplier = 1.0;
|
||||
use_active_for_splits = true;
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
special_scale_factor = 1;
|
||||
no_gaps_when_only = false;
|
||||
};
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 7;
|
||||
# active_opacity = 0.90;
|
||||
# inactive_opacity = 0.90;
|
||||
# fullscreen_opacity = 1.0;
|
||||
drop_shadow = true;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 1;
|
||||
passes = 1;
|
||||
# size = 4;
|
||||
# passes = 2;
|
||||
brightness = 1;
|
||||
contrast = 1.400;
|
||||
ignore_opacity = true;
|
||||
noise = 0;
|
||||
new_optimizations = true;
|
||||
xray = true;
|
||||
};
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
|
||||
drop_shadow = true;
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
shadow_ignore_window = true;
|
||||
shadow_offset = "0 2";
|
||||
shadow_range = 20;
|
||||
shadow_render_power = 3;
|
||||
"col.shadow" = "rgba(00000055)";
|
||||
};
|
||||
bezier = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
animation = [
|
||||
# Windows
|
||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||
|
||||
bezier = [
|
||||
"fluent_decel, 0, 0.2, 0.4, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutCubic, 0.33, 1, 0.68, 1"
|
||||
"easeinoutsine, 0.37, 0, 0.63, 1"
|
||||
];
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||
];
|
||||
|
||||
animation = [
|
||||
# Windows
|
||||
"windowsIn, 1, 3, easeOutCubic, popin 30%" # window open
|
||||
"windowsOut, 1, 3, fluent_decel, popin 70%" # window close.
|
||||
"windowsMove, 1, 2, easeinoutsine, slide" # everything in between, moving, dragging, resizing.
|
||||
|
||||
# Fade
|
||||
"fadeIn, 1, 3, easeOutCubic" # fade in (open) -> layers and windows
|
||||
"fadeOut, 1, 2, easeOutCubic" # fade out (close) -> layers and windows
|
||||
"fadeSwitch, 0, 1, easeOutCirc" # fade on changing activewindow and its opacity
|
||||
"fadeShadow, 1, 10, easeOutCirc" # fade on changing activewindow for shadows
|
||||
"fadeDim, 1, 4, fluent_decel" # the easing of the dimming of inactive windows
|
||||
"border, 1, 2.7, easeOutCirc" # for animating the border's color switch speed
|
||||
"borderangle, 1, 30, fluent_decel, once" # for animating the border's gradient angle - styles: once (default), loop
|
||||
"workspaces, 1, 4, easeOutCubic, fade" # styles: slide, slidevert, fade, slidefade, slidefadevert
|
||||
];
|
||||
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"super shift, 3, movetoworkspace, 3"
|
||||
"super shift, 4, movetoworkspace, 4"
|
||||
"super shift, 5, movetoworkspace, 5"
|
||||
"super shift, 6, movetoworkspace, 6"
|
||||
"super shift, 7, movetoworkspace, 7"
|
||||
"super shift, 8, movetoworkspace, 8"
|
||||
"super shift, 9, movetoworkspace, 9"
|
||||
"super shift, 0, movetoworkspace, 10"
|
||||
"super, s, togglespecialworkspace, magic"
|
||||
"super shift, s, movetoworkspace, special:magic"
|
||||
"alt, grave, togglespecialworkspace, console"
|
||||
"super, mouse_down, workspace, e+1"
|
||||
"super, mouse_up, workspace, e-1"
|
||||
];
|
||||
bindm = [
|
||||
"super, mouse:272, movewindow"
|
||||
"super, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
bind = [
|
||||
"super, up, exec, pactl set-sink-volume @default_sink@ +10%"
|
||||
"super, down, exec, pactl set-sink-volume @default_sink@ -10%"
|
||||
"super, print, exec, grimblast copy area"
|
||||
"super, t, exec, swaync-client -t -sw"
|
||||
"super, a, exec, firefox"
|
||||
"super, q, exec, kitty --title Kitty"
|
||||
"super, d, exec, switchmon"
|
||||
"super, c, killactive,"
|
||||
"super, e, exec, [float;size 45% 70%;move 10 50] kitty btop"
|
||||
"super, n, exec, [float;size 50% 35%;move 10 50] pavucontrol"
|
||||
"super, p, exec, [float;size 25% 30%;move onscreen cursor 0 0] [ ! -f /tmp/passhelperfile ] && kitty passhelper"
|
||||
"super, 0, exec, aplay ~/media/sound/soundtest.wav"
|
||||
"super shift, q, exit,"
|
||||
"super, m, exec, fuzzel"
|
||||
"super, r, exec, neovide"
|
||||
"super, b, togglesplit, # dwindle"
|
||||
"super, f, togglefloating"
|
||||
"super, g, fullscreen"
|
||||
"super, home, exec, /home/${username}/scripts/home.sh"
|
||||
"super, h, movefocus, l"
|
||||
"super, l, movefocus, r"
|
||||
"super, k, movefocus, u"
|
||||
"super, j, movefocus, d"
|
||||
"super, 1, exec, hyprctl 'dispatch workspace 1'"
|
||||
"super, 2, exec, hyprctl 'dispatch workspace 2'"
|
||||
"super, 3, exec, hyprctl 'dispatch workspace 3'"
|
||||
"super, 4, exec, hyprctl 'dispatch workspace 4'"
|
||||
"super, 5, exec, hyprctl 'dispatch workspace 5'"
|
||||
"super, 6, exec, hyprctl 'dispatch workspace 6'"
|
||||
"super, 7, exec, hyprctl 'dispatch workspace 7'"
|
||||
"super, 8, exec, hyprctl 'dispatch workspace 8'"
|
||||
"super, 9, exec, hyprctl 'dispatch workspace 9'"
|
||||
"super, 0, exec, hyprctl 'dispatch workspace 10'"
|
||||
"super alt, g, togglegroup"
|
||||
"super alt, h, changegroupactive, b"
|
||||
"super alt, l, changegroupactive, f"
|
||||
"super shift, h, movewindoworgroup, l"
|
||||
"super shift, l, movewindoworgroup, r"
|
||||
"super shift, k, movewindoworgroup, u"
|
||||
"super shift, j, movewindoworgroup, d"
|
||||
"super shift, 1, movetoworkspace, 1"
|
||||
"super shift, 2, movetoworkspace, 2"
|
||||
"super shift, 3, movetoworkspace, 3"
|
||||
"super shift, 4, movetoworkspace, 4"
|
||||
"super shift, 5, movetoworkspace, 5"
|
||||
"super shift, 6, movetoworkspace, 6"
|
||||
"super shift, 7, movetoworkspace, 7"
|
||||
"super shift, 8, movetoworkspace, 8"
|
||||
"super shift, 9, movetoworkspace, 9"
|
||||
"super shift, 0, movetoworkspace, 10"
|
||||
"super, s, togglespecialworkspace, magic"
|
||||
"super shift, s, movetoworkspace, special:magic"
|
||||
"alt, grave, togglespecialworkspace, console"
|
||||
"super, mouse_down, workspace, e+1"
|
||||
"super, mouse_up, workspace, e-1"
|
||||
];
|
||||
bindm = [
|
||||
"super, mouse:272, movewindow"
|
||||
"super, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.autojump = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.autojump = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ inputs, ... }:
|
||||
|
||||
{
|
||||
{inputs, ...}: {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
|
||||
|
||||
settings = {
|
||||
color_theme = "tokyo-night";
|
||||
theme_background = false;
|
||||
update_ms = 500;
|
||||
vim_keys = true;
|
||||
proc_tree = true;
|
||||
temp_scale = "fahrenheit";
|
||||
disks_filter = "exclude=/boot";
|
||||
show_swap = false;
|
||||
swap_disk = false;
|
||||
vim_keys = true;
|
||||
proc_tree = true;
|
||||
temp_scale = "fahrenheit";
|
||||
disks_filter = "exclude=/boot";
|
||||
show_swap = false;
|
||||
swap_disk = false;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = (with pkgs; [ nvtopPackages.intel ]);
|
||||
home.packages = with pkgs; [nvtopPackages.intel];
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.cava = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
|
||||
# https://github.com/catppuccin/cava
|
||||
home.file.".config/cava/config".text = ''
|
||||
# custom cava config
|
||||
'' + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||
home.file.".config/cava/config".text =
|
||||
''
|
||||
# custom cava config
|
||||
''
|
||||
+ builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
extraOptions = [ "-1" "-h" "--group-directories-first" ];
|
||||
icons = "auto";
|
||||
git = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
enableZshIntegration = false;
|
||||
extraOptions = ["-1" "-h" "--group-directories-first"];
|
||||
icons = "auto";
|
||||
git = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,109 +1,122 @@
|
||||
{ nur, username }:
|
||||
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value= true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{ name = "Nix sites";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{ name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{ name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{ name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{ name = "Noogle";
|
||||
url = "https://noogle.dev/";
|
||||
}
|
||||
{ name = "NixOS Wiki";
|
||||
url = "https://nixos.wiki/";
|
||||
}
|
||||
{ name = "NixOS Manual";
|
||||
url = "https://nixos.org/manual/nixos/stable";
|
||||
}
|
||||
{ name = "Nixpkgs Reference";
|
||||
url = "https://nixos.org/manual/nixpkgs/stable";
|
||||
}
|
||||
];
|
||||
}
|
||||
{ name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{ name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{ name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{ name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"browser.display.foreground_color.dark" = "#FBFBFE";
|
||||
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
||||
"browser.display.use_system_colors" = "false";
|
||||
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
||||
"browser.theme.colorway-closet" = "true";
|
||||
"browser.theme.colorway-migration" = "true";
|
||||
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
||||
"browser.visited_color" = "#551A8B";
|
||||
"browser.visited_color.dark" = "#FFADFF";
|
||||
"browser.newtabpage.pinned" = [{
|
||||
title = "Homepage";
|
||||
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
}];
|
||||
"devtools.defaultColorUnit" = "authored";
|
||||
"editor.background_color" = "#FFFFFF";
|
||||
"editor.use_custom_colors" = "false";
|
||||
'';
|
||||
};
|
||||
};
|
||||
nur,
|
||||
username,
|
||||
}: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||
SearchBar = "unified"; # alternative: "separate" isDefault = true;
|
||||
};
|
||||
profiles.${username} = {
|
||||
name = "${username}";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Nix sites";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "NixOS Options";
|
||||
url = "https://search.nixos.org/options";
|
||||
}
|
||||
{
|
||||
name = "Home Manager Options";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{
|
||||
name = "Nixvim Docs";
|
||||
url = "https://nix-community.github.io/nixvim/";
|
||||
}
|
||||
{
|
||||
name = "Noogle";
|
||||
url = "https://noogle.dev/";
|
||||
}
|
||||
{
|
||||
name = "NixOS Wiki";
|
||||
url = "https://nixos.wiki/";
|
||||
}
|
||||
{
|
||||
name = "NixOS Manual";
|
||||
url = "https://nixos.org/manual/nixos/stable";
|
||||
}
|
||||
{
|
||||
name = "Nixpkgs Reference";
|
||||
url = "https://nixos.org/manual/nixpkgs/stable";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
name = "Rust Manual";
|
||||
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
|
||||
}
|
||||
{
|
||||
name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
}
|
||||
{
|
||||
name = "DataAnnotation";
|
||||
url = "https://app.dataannotation.tech/users/sign_in";
|
||||
}
|
||||
{
|
||||
name = "Nerd Fonts Cheatsheet";
|
||||
url = "https://www.nerdfonts.com/cheat-sheet";
|
||||
}
|
||||
];
|
||||
extensions = with nur.repos.rycee.firefox-addons; [
|
||||
darkreader
|
||||
adnauseam
|
||||
cookie-autodelete
|
||||
disconnect
|
||||
firefox-color
|
||||
vimium
|
||||
firenvim
|
||||
privacy-badger
|
||||
new-tab-override
|
||||
tampermonkey
|
||||
];
|
||||
extraConfig = ''
|
||||
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
"browser.active_color" = "#EE0000";
|
||||
"browser.active_color.dark" = "#FF6666";
|
||||
"browser.anchor_color" = "#0000EE";
|
||||
"browser.anchor_color.dark" = "#8C8CFF";
|
||||
"browser.display.background_color" = "#FFFFFF";
|
||||
"browser.display.background_color.dark" = "#1C1B22";
|
||||
"browser.display.document_color_use" = "1";
|
||||
"browser.display.foreground_color" = "#000000";
|
||||
"browser.display.foreground_color.dark" = "#FBFBFE";
|
||||
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
|
||||
"browser.display.use_system_colors" = "false";
|
||||
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
|
||||
"browser.theme.colorway-closet" = "true";
|
||||
"browser.theme.colorway-migration" = "true";
|
||||
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
|
||||
"browser.visited_color" = "#551A8B";
|
||||
"browser.visited_color.dark" = "#FFADFF";
|
||||
"browser.newtabpage.pinned" = [{
|
||||
title = "Homepage";
|
||||
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
|
||||
}];
|
||||
"devtools.defaultColorUnit" = "authored";
|
||||
"editor.background_color" = "#FFFFFF";
|
||||
"editor.use_custom_colors" = "false";
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
{...}: {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -9,7 +7,7 @@
|
||||
line-height = 25;
|
||||
fields = "name,generic,comment,categories,filename,keywords";
|
||||
terminal = "kitty";
|
||||
prompt = "' ➜ '" ;
|
||||
prompt = "' ➜ '";
|
||||
icon-theme = "Papirus-Dark";
|
||||
layer = "top";
|
||||
lines = 10;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
{...}: {
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "pagedmov@gmail.com";
|
||||
userName = "pagedmov";
|
||||
};
|
||||
{...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "pagedmov@gmail.com";
|
||||
userName = "pagedmov";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
themeFile = "Catppuccin-Mocha";
|
||||
|
||||
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 13;
|
||||
@@ -13,13 +11,13 @@
|
||||
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
background_opacity = "0.60";
|
||||
background_opacity = "0.60";
|
||||
window_padding_width = 10;
|
||||
scrollback_lines = 10000;
|
||||
enable_audio_bell = false;
|
||||
allow_remote_control = true;
|
||||
allow_remote_control = true;
|
||||
mouse_hide_wait = 60;
|
||||
|
||||
|
||||
## Tabs
|
||||
tab_title_template = "{index}";
|
||||
active_tab_font_style = "normal";
|
||||
@@ -32,7 +30,7 @@
|
||||
inactive_tab_background = "#313244";
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
keybindings = {
|
||||
## Tabs
|
||||
"alt+1" = "goto_tab 1";
|
||||
"alt+2" = "goto_tab 2";
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
{ username, ... }:
|
||||
|
||||
let
|
||||
home = "/home/${username}";
|
||||
in
|
||||
{
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "${home}/.password-store";
|
||||
};
|
||||
};
|
||||
{username, ...}: let
|
||||
home = "/home/${username}";
|
||||
in {
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "${home}/.password-store";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,16 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "compress" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "compress" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if (( $# == 1 )) then
|
||||
# echo -ne "Archive name: "
|
||||
# read name
|
||||
# tar -cvzf "$name.tar.gz" $1
|
||||
tar -cvzf "$1.tar.gz" $1
|
||||
else
|
||||
echo "Wrong number of arguments..."
|
||||
fi
|
||||
'')
|
||||
if (( $# == 1 )) then
|
||||
# echo -ne "Archive name: "
|
||||
# read name
|
||||
# tar -cvzf "$name.tar.gz" $1
|
||||
tar -cvzf "$1.tar.gz" $1
|
||||
else
|
||||
echo "Wrong number of arguments..."
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "crs" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "crs" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
cargo test && \
|
||||
cargo run
|
||||
'')
|
||||
cargo test && \
|
||||
cargo run
|
||||
''
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "extract" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "extract" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
for i in "$@" ; do
|
||||
tar -xvzf $i
|
||||
break
|
||||
done
|
||||
'')
|
||||
for i in "$@" ; do
|
||||
tar -xvzf $i
|
||||
break
|
||||
done
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "invoke" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "invoke" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
nix run nixpkgs#$"@"
|
||||
'')
|
||||
nix run nixpkgs#$"@"
|
||||
''
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "keybinds" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "keybinds" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
config_file=~/.config/hypr/hyprland.conf
|
||||
keybinds=$(grep -oP '(?<=bind=).*' $config_file)
|
||||
keybinds=$(echo "$keybinds" | sed 's/,\([^,]*\)$/ = \1/' | sed 's/, exec//g' | sed 's/^,//g')
|
||||
rofi -dmenu -theme-str 'window {width: 50%;}' <<< "$keybinds"
|
||||
'')
|
||||
config_file=~/.config/hypr/hyprland.conf
|
||||
keybinds=$(grep -oP '(?<=bind=).*' $config_file)
|
||||
keybinds=$(echo "$keybinds" | sed 's/,\([^,]*\)$/ = \1/' | sed 's/, exec//g' | sed 's/^,//g')
|
||||
rofi -dmenu -theme-str 'window {width: 50%;}' <<< "$keybinds"
|
||||
''
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "mcd" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "mcd" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
mkdir -p "$1"
|
||||
cd "$1" || exit
|
||||
'')
|
||||
mkdir -p "$1"
|
||||
cd "$1" || exit
|
||||
''
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "runbg" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "runbg" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[ $# -eq 0 ] && { # $# is number of args
|
||||
echo "$(basename $0): missing command" >&2
|
||||
exit 1
|
||||
}
|
||||
prog="$(which "$1")" # see below
|
||||
[ -z "$prog" ] && {
|
||||
echo "$(basename $0): unknown command: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
shift # remove $1, now $prog, from args
|
||||
tty -s && exec </dev/null # if stdin is a terminal, redirect from null
|
||||
tty -s <&1 && exec >/dev/null # if stdout is a terminal, redirect to null
|
||||
tty -s <&2 && exec 2>&1 # stderr to stdout (which might not be null)
|
||||
"$prog" "$@" & # $@ is all args
|
||||
'')
|
||||
[ $# -eq 0 ] && { # $# is number of args
|
||||
echo "$(basename $0): missing command" >&2
|
||||
exit 1
|
||||
}
|
||||
prog="$(which "$1")" # see below
|
||||
[ -z "$prog" ] && {
|
||||
echo "$(basename $0): unknown command: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
shift # remove $1, now $prog, from args
|
||||
tty -s && exec </dev/null # if stdin is a terminal, redirect from null
|
||||
tty -s <&1 && exec >/dev/null # if stdout is a terminal, redirect to null
|
||||
tty -s <&2 && exec 2>&1 # stderr to stdout (which might not be null)
|
||||
"$prog" "$@" & # $@ is all args
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "scheck" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "scheck" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
[ "$SOUNDS_ENABLED" -eq 1 ]
|
||||
'')
|
||||
[ "$SOUNDS_ENABLED" -eq 1 ]
|
||||
''
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ self, pkgs }:
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "splash" (''
|
||||
#!/bin/bash
|
||||
|
||||
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
||||
date +"%A %B %-d %Y"
|
||||
echo -e "\033[38;2;0;180;205m$(toilet -t -f Slant.flf glasshouse)\033[0m"
|
||||
echo
|
||||
'')
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "splash" ''
|
||||
#!/bin/bash
|
||||
|
||||
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
|
||||
date +"%A %B %-d %Y"
|
||||
echo -e "\033[38;2;0;180;205m$(toilet -t -f Slant.flf glasshouse)\033[0m"
|
||||
echo
|
||||
''
|
||||
|
||||
@@ -1,62 +1,144 @@
|
||||
{ host, self, pkgs, ... }:
|
||||
|
||||
let
|
||||
compress = (import ./commands/compress.nix { self = self; pkgs = pkgs;});
|
||||
passhelper = (import ./wm-controls/passhelper.nix { self = self; pkgs = pkgs;});
|
||||
crs = (import ./commands/crs.nix { self = self; pkgs = pkgs;});
|
||||
extract = (import ./commands/extract.nix { self = self; pkgs = pkgs;});
|
||||
invoke = (import ./commands/invoke.nix { self = self; pkgs = pkgs;});
|
||||
splash = (import ./commands/splash.nix { self = self; pkgs = pkgs;});
|
||||
scheck = (import ./commands/s_check.nix { self = self; pkgs = pkgs;});
|
||||
runbg = (import ./commands/runbg.nix { self = self; pkgs = pkgs;});
|
||||
mcd = (import ./commands/mcd.nix { self = self; pkgs = pkgs;});
|
||||
garbage-collect = (import ./nix/garbage-collect.nix { self = self; pkgs = pkgs;});
|
||||
homep = (import ./nix/homep.nix { self = self; pkgs = pkgs;});
|
||||
homer = (import ./nix/homer.nix { self = self; pkgs = pkgs;});
|
||||
nsp = (import ./nix/nsp.nix { self = self; pkgs = pkgs;});
|
||||
nixr = (import ./nix/nixr.nix { self = self; pkgs = pkgs;});
|
||||
nixp = (import ./nix/nixp.nix { self = self; pkgs = pkgs;});
|
||||
hyprland = (import ./wm-controls/hyprland.nix { pkgs=pkgs; });
|
||||
lofi = (import ./wm-controls/lofi.nix { self = self; pkgs = pkgs;});
|
||||
music = (import ./wm-controls/music.nix { self = self; pkgs = pkgs;});
|
||||
shutdown-script = (import ./wm-controls/shutdown-script.nix { self = self; pkgs = pkgs;});
|
||||
switchmon = (import ./wm-controls/switchmon.nix { self = self; pkgs = pkgs;});
|
||||
toggle_blur = (import ./wm-controls/toggle_blur.nix { self = self; pkgs = pkgs;});
|
||||
toggle_float = (import ./wm-controls/toggle_float.nix { self = self; pkgs = pkgs;});
|
||||
toggle_oppacity = (import ./wm-controls/toggle_oppacity.nix { self = self; pkgs = pkgs;});
|
||||
toggle_waybar = (import ./wm-controls/toggle_waybar.nix { self = self; pkgs = pkgs;});
|
||||
rebuild = (import ./nix/rebuild.nix { host = host; self = self; pkgs = pkgs;});
|
||||
nixcommit = (import ./nix/nixcommit.nix { host = host; self = self; pkgs = pkgs;});
|
||||
nixpush = (import ./nix/nixpush.nix { self = self; pkgs = pkgs;});
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
compress
|
||||
passhelper
|
||||
crs
|
||||
extract
|
||||
garbage-collect
|
||||
homep
|
||||
homer
|
||||
hyprland
|
||||
invoke
|
||||
lofi
|
||||
mcd
|
||||
music
|
||||
nixcommit
|
||||
nixp
|
||||
nixpush
|
||||
nixr
|
||||
rebuild
|
||||
nsp
|
||||
runbg
|
||||
scheck
|
||||
shutdown-script
|
||||
splash
|
||||
switchmon
|
||||
toggle_blur
|
||||
toggle_float
|
||||
toggle_oppacity
|
||||
toggle_waybar
|
||||
];
|
||||
host,
|
||||
self,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
compress = import ./commands/compress.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
passhelper = import ./wm-controls/passhelper.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
crs = import ./commands/crs.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
extract = import ./commands/extract.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
invoke = import ./commands/invoke.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
splash = import ./commands/splash.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
scheck = import ./commands/s_check.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
runbg = import ./commands/runbg.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
mcd = import ./commands/mcd.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
garbage-collect = import ./nix/garbage-collect.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
homep = import ./nix/homep.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
homer = import ./nix/homer.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
nsp = import ./nix/nsp.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
nixr = import ./nix/nixr.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
nixp = import ./nix/nixp.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
hyprland = import ./wm-controls/hyprland.nix {pkgs = pkgs;};
|
||||
lofi = import ./wm-controls/lofi.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
music = import ./wm-controls/music.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
shutdown-script = import ./wm-controls/shutdown-script.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
switchmon = import ./wm-controls/switchmon.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
toggle_blur = import ./wm-controls/toggle_blur.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
toggle_float = import ./wm-controls/toggle_float.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
toggle_oppacity = import ./wm-controls/toggle_oppacity.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
toggle_waybar = import ./wm-controls/toggle_waybar.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
rebuild = import ./nix/rebuild.nix {
|
||||
host = host;
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
nixcommit = import ./nix/nixcommit.nix {
|
||||
host = host;
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
nixpush = import ./nix/nixpush.nix {
|
||||
self = self;
|
||||
pkgs = pkgs;
|
||||
};
|
||||
in {
|
||||
home.packages = [
|
||||
compress
|
||||
passhelper
|
||||
crs
|
||||
extract
|
||||
garbage-collect
|
||||
homep
|
||||
homer
|
||||
hyprland
|
||||
invoke
|
||||
lofi
|
||||
mcd
|
||||
music
|
||||
nixcommit
|
||||
nixp
|
||||
nixpush
|
||||
nixr
|
||||
rebuild
|
||||
nsp
|
||||
runbg
|
||||
scheck
|
||||
shutdown-script
|
||||
splash
|
||||
switchmon
|
||||
toggle_blur
|
||||
toggle_float
|
||||
toggle_oppacity
|
||||
toggle_waybar
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,31 +1,32 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "garbage-collect" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "garbage-collect" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
echo "This will delete all unused paths in the nix store and delete any files in the gtrash folder."
|
||||
echo -e "\033[1;4;38;2;243;139;168mThis process is irreversible.\033[0m Are you sure?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
Yes ) echo "Sweeping system...";scheck && runbg aplay "$HOME/media/sound/sys/collectgarbage.wav";break;;
|
||||
No ) echo "Canceling garbage collection."; return;;
|
||||
esac
|
||||
done
|
||||
output=$(nix-collect-garbage | tee /dev/tty)
|
||||
|
||||
nix_freed=$(echo "$output" | grep -oP '\d+(\.\d+)? MiB freed' | cut -d' ' -f1)
|
||||
|
||||
echo "This will delete all unused paths in the nix store and delete any files in the gtrash folder."
|
||||
echo -e "\033[1;4;38;2;243;139;168mThis process is irreversible.\033[0m Are you sure?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
Yes ) echo "Sweeping system...";scheck && runbg aplay "$HOME/media/sound/sys/collectgarbage.wav";break;;
|
||||
No ) echo "Canceling garbage collection."; return;;
|
||||
esac
|
||||
done
|
||||
output=$(nix-collect-garbage | tee /dev/tty)
|
||||
|
||||
nix_freed=$(echo "$output" | grep -oP '\d+(\.\d+)? MiB freed' | cut -d' ' -f1)
|
||||
|
||||
if [ "$(ls -A ~/.local/share/Trash/files/ 2>/dev/null)" ]; then
|
||||
rm_freed=$(du ~/.local/share/Trash/files 2> /dev/null | awk '{print $1}')
|
||||
rm_freed=$(echo "scale=2; $rm_freed / 1000" | bc)
|
||||
/run/current-system/sw/bin/rm -rfv ~/.local/share/Trash/files
|
||||
mkdir ~/.local/share/Trash/files
|
||||
else
|
||||
rm_freed="0"
|
||||
fi
|
||||
total_freed=$(echo "$nix_freed + $rm_freed" | bc)
|
||||
echo -e "System cleaning complete, freed \033[1;4;38;2;166;227;161m$total_freed MiB\033[0m in total"
|
||||
scheck && runbg aplay "$HOME/media/sound/sys/rm.wav"
|
||||
'')
|
||||
if [ "$(ls -A ~/.local/share/Trash/files/ 2>/dev/null)" ]; then
|
||||
rm_freed=$(du ~/.local/share/Trash/files 2> /dev/null | awk '{print $1}')
|
||||
rm_freed=$(echo "scale=2; $rm_freed / 1000" | bc)
|
||||
/run/current-system/sw/bin/rm -rfv ~/.local/share/Trash/files
|
||||
mkdir ~/.local/share/Trash/files
|
||||
else
|
||||
rm_freed="0"
|
||||
fi
|
||||
total_freed=$(echo "$nix_freed + $rm_freed" | bc)
|
||||
echo -e "System cleaning complete, freed \033[1;4;38;2;166;227;161m$total_freed MiB\033[0m in total"
|
||||
scheck && runbg aplay "$HOME/media/sound/sys/rm.wav"
|
||||
''
|
||||
|
||||
@@ -1,35 +1,36 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "homep" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
# Ensure the package manifest is generated or updated
|
||||
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
||||
echo "Generating Nixpkgs manifest..."
|
||||
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
||||
fi
|
||||
|
||||
pkgs.writeShellScriptBin "homep" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
|
||||
# Ensure the package manifest is generated or updated
|
||||
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
||||
echo "Generating Nixpkgs manifest..."
|
||||
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
||||
fi
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# Append each selected package to the Nix config file
|
||||
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
||||
echo "Added $package to the Home Manager configuration."
|
||||
done
|
||||
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
echo "Packages added successfully. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# Append each selected package to the Nix config file
|
||||
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
||||
echo "Added $package to the Home Manager configuration."
|
||||
done
|
||||
|
||||
echo "Packages added successfully. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
else
|
||||
echo "No packages selected."
|
||||
fi
|
||||
'')
|
||||
else
|
||||
echo "No packages selected."
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "homer" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix" | sed '1d;$d' | fzf -m)
|
||||
|
||||
pkgs.writeShellScriptBin "homer" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
||||
echo "Removed $package from the Home Manager configuration."
|
||||
done
|
||||
|
||||
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix" | sed '1d;$d' | fzf -m)
|
||||
echo "Removed packages. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/home/userpkgs.nix"
|
||||
echo "Removed $package from the Home Manager configuration."
|
||||
done
|
||||
|
||||
echo "Removed packages. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
else
|
||||
echo "No packages removed."
|
||||
fi
|
||||
else
|
||||
echo "No packages removed."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
'')
|
||||
''
|
||||
|
||||
@@ -1,46 +1,49 @@
|
||||
{ self, pkgs, host}:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
host,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "nixcommit" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
builtin cd "$HOME/sysflakes" || exit
|
||||
nix flake update
|
||||
|
||||
pkgs.writeShellScriptBin "nixcommit" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
if [ -n "$2" ]; then
|
||||
echo "too many arguments"
|
||||
exit
|
||||
fi
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
builtin cd "$HOME/sysflakes" || exit
|
||||
nix flake update
|
||||
diffcheck=$(git status | grep "working tree clean")
|
||||
if [ -n "$diffcheck" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
echo "Nothing to commit"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
echo "too many arguments"
|
||||
exit
|
||||
fi
|
||||
alejandra . &> /dev/null
|
||||
git add .
|
||||
|
||||
diffcheck=$(git status | grep "working tree clean")
|
||||
if [ -n "$diffcheck" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
echo "Nothing to commit"
|
||||
exit
|
||||
fi
|
||||
# Automatic fixup commit to the most recent commit (HEAD~1)
|
||||
if [ -z "$1" ]; then
|
||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||
if [ -n "$commits" ]; then
|
||||
git commit --fixup HEAD
|
||||
echo "No commit message given"
|
||||
echo "Squashing into most recent commit"
|
||||
git rebase --autosquash master
|
||||
else
|
||||
echo "No prior local commits to squash into, please provide a commit message"
|
||||
exit
|
||||
fi
|
||||
else
|
||||
# Generate the system generation number
|
||||
gen=$(readlink /nix/var/nix/profiles/system | sed 's/.*system-\([0-9]*\)-link/\1/')
|
||||
gen=$((gen + 1))
|
||||
git commit -m "(${host}) Gen $gen: $1"
|
||||
fi
|
||||
|
||||
git add .
|
||||
|
||||
# Automatic fixup commit to the most recent commit (HEAD~1)
|
||||
if [ -z "$1" ]; then
|
||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||
if [ -n "$commits" ]; then
|
||||
git commit --fixup HEAD
|
||||
echo "No commit message given"
|
||||
echo "Squashing into most recent commit"
|
||||
git rebase --autosquash master
|
||||
else
|
||||
echo "No prior local commits to squash into, please provide a commit message"
|
||||
exit
|
||||
fi
|
||||
else
|
||||
# Generate the system generation number
|
||||
gen=$(readlink /nix/var/nix/profiles/system | sed 's/.*system-\([0-9]*\)-link/\1/')
|
||||
gen=$((gen + 1))
|
||||
git commit -m "(${host}) Gen $gen: $1"
|
||||
fi
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/gitcommit.wav
|
||||
builtin cd - || exit
|
||||
'')
|
||||
scheck && runbg aplay ${self}/media/sound/gitcommit.wav
|
||||
builtin cd - || exit
|
||||
''
|
||||
|
||||
@@ -1,35 +1,36 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "nixp" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
# Ensure the package manifest is generated or updated
|
||||
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
||||
echo "Generating Nixpkgs manifest..."
|
||||
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
||||
fi
|
||||
|
||||
pkgs.writeShellScriptBin "nixp" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
|
||||
# Ensure the package manifest is generated or updated
|
||||
if [ ! -f "/tmp/nixpkgs_manifest.txt" ]; then
|
||||
echo "Generating Nixpkgs manifest..."
|
||||
nix-env -qaP 2>/dev/null | awk '{print $1}' | sed 's/nixos\.//' > /tmp/nixpkgs_manifest.txt
|
||||
fi
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# Append each selected package to the Nix config file
|
||||
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
||||
echo "Added $package to the Nix configuration."
|
||||
done
|
||||
|
||||
# Select packages using fzf with multi-select enabled
|
||||
selected_packages=$(cat /tmp/nixpkgs_manifest.txt | fzf -m)
|
||||
echo "Packages added successfully. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Check if any packages were selected
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
# Append each selected package to the Nix config file
|
||||
sed -i "/^\t]/i \ \t\t$package" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
||||
echo "Added $package to the Nix configuration."
|
||||
done
|
||||
|
||||
echo "Packages added successfully. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
else
|
||||
echo "No packages selected."
|
||||
fi
|
||||
'')
|
||||
else
|
||||
echo "No packages selected."
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "nixpush" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
set -e
|
||||
pushd "$HOME/sysflakes"
|
||||
|
||||
pkgs.writeShellScriptBin "nixpush" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||
if [ -z "$commits" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
echo "Nothing to push"
|
||||
exit
|
||||
fi
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
set -e
|
||||
pushd "$HOME/sysflakes"
|
||||
echo "Pushing the following commits upstream on branch '$(git branch | rg "\*" | awk '{print $2}')'"
|
||||
echo "$commits"
|
||||
|
||||
commits=$(git log origin/$(git rev-parse --abbrev-ref HEAD)..HEAD --oneline)
|
||||
if [ -z "$commits" ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/warning.wav
|
||||
echo "Nothing to push"
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "Pushing the following commits upstream on branch '$(git branch | rg "\*" | awk '{print $2}')'"
|
||||
echo "$commits"
|
||||
|
||||
git push
|
||||
scheck && runbg aplay ${self}/media/sound/gitpush.wav
|
||||
popd
|
||||
'')
|
||||
git push
|
||||
scheck && runbg aplay ${self}/media/sound/gitpush.wav
|
||||
popd
|
||||
''
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "nixr" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix" | sed '1d;$d' | fzf -m)
|
||||
|
||||
pkgs.writeShellScriptBin "nixr" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
||||
echo "Removed $package from the Nix configuration."
|
||||
done
|
||||
|
||||
selected_packages=$(sed -n '/\[/,/\]/p' "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix" | sed '1d;$d' | fzf -m)
|
||||
echo "Removed packages. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "$selected_packages" ]; then
|
||||
echo "$selected_packages" | while read -r package; do
|
||||
sed -i "/\b$package\b/d" "$HOME/sysflakes/glasshouse-desktop/sys/packages.nix"
|
||||
echo "Removed $package from the Nix configuration."
|
||||
done
|
||||
|
||||
echo "Removed packages. Rebuild system config?"
|
||||
select yn in "Yes" "No"; do
|
||||
case $yn in
|
||||
"Yes" ) nixswitch;break;;
|
||||
"No" ) exit;;
|
||||
esac
|
||||
done
|
||||
|
||||
else
|
||||
echo "No packages removed."
|
||||
fi
|
||||
else
|
||||
echo "No packages removed."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
'')
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "nsp" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "nsp" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
nix-shell -p "$@" --run zsh
|
||||
'')
|
||||
nix-shell -p "$@" --run zsh
|
||||
''
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
{ host, self, pkgs }:
|
||||
{
|
||||
host,
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "rebuild" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
set -e
|
||||
pushd "$HOME/sysflakes"
|
||||
|
||||
pkgs.writeShellScriptBin "rebuild" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
scheck && runbg aplay ${self}/media/sound/nixswitch-start.wav
|
||||
set -e
|
||||
pushd "$HOME/sysflakes"
|
||||
|
||||
nix flake update
|
||||
git diff
|
||||
sudo nixos-rebuild switch --flake "$HOME/sysflakes#${host}"
|
||||
if [ $? -eq 0 ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/update.wav
|
||||
else
|
||||
scheck && runbg aplay ${self}/media/sound/error.wav
|
||||
fi
|
||||
popd
|
||||
'')
|
||||
nix flake update
|
||||
sudo nixos-rebuild switch --flake "$HOME/sysflakes#${host}"
|
||||
if [ $? -eq 0 ]; then
|
||||
scheck && runbg aplay ${self}/media/sound/update.wav
|
||||
else
|
||||
scheck && runbg aplay ${self}/media/sound/error.wav
|
||||
fi
|
||||
popd
|
||||
''
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
pkgs.writeShellScriptBin "hyprland" (''
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
|
||||
exec Hyprland
|
||||
'')
|
||||
{pkgs, ...}:
|
||||
pkgs.writeShellScriptBin "hyprland" ''
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
|
||||
exec Hyprland
|
||||
''
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "lofi" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "lofi" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
||||
pkill mpv
|
||||
else
|
||||
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
||||
fi
|
||||
'')
|
||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
||||
pkill mpv
|
||||
else
|
||||
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "music" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "music" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
||||
pkill audacious
|
||||
else
|
||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t ~/Music/playlist"
|
||||
sleep 0.5
|
||||
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
||||
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
||||
fi
|
||||
'')
|
||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
||||
pkill audacious
|
||||
else
|
||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t ~/Music/playlist"
|
||||
sleep 0.5
|
||||
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
||||
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
{ self, pkgs, ... }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
pkgs.writeShellScriptBin "passhelper" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
|
||||
pkgs.writeShellScriptBin "passhelper" (''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
# prevent multiple instances, conditional check happens in the hyprland bind
|
||||
touch /tmp/passhelperfile
|
||||
trap "[ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile" EXIT SIGHUP SIGINT
|
||||
|
||||
# prevent multiple instances, conditional check happens in the hyprland bind
|
||||
touch /tmp/passhelperfile
|
||||
trap "[ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile" EXIT SIGHUP SIGINT
|
||||
# get passwords from password store, remove .password store/ prefix and .gpg suffix, exlude .gpg-id file, open results in fzf
|
||||
pass_string=$(find $HOME/.password-store -type f | sed 's|.*/.password-store/||; s|\.gpg$||' | sed 's|^\([^/]*\)|\x1b[32m\1\x1b[0m|' | rg -v "\.git|.gpg-id" | sort -r | fzf --border --border-label="$(whoami)'s keyring" --ansi --layout=reverse)
|
||||
|
||||
# get passwords from password store, remove .password store/ prefix and .gpg suffix, exlude .gpg-id file, open results in fzf
|
||||
pass_string=$(find $HOME/.password-store -type f | sed 's|.*/.password-store/||; s|\.gpg$||' | sed 's|^\([^/]*\)|\x1b[32m\1\x1b[0m|' | rg -v "\.git|.gpg-id" | sort -r | fzf --border --border-label="$(whoami)'s keyring" --ansi --layout=reverse)
|
||||
[ $? = 0 ] || { [ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile; exit 1; }
|
||||
|
||||
[ $? = 0 ] || { [ -f /tmp/passhelperfile ] && /run/current-system/sw/bin/rm /tmp/passhelperfile; exit 1; }
|
||||
|
||||
# pass it through fmt for soft word wrapping
|
||||
pass -c "$pass_string" | fmt -w 45
|
||||
/run/current-system/sw/bin/rm /tmp/passhelperfile
|
||||
sleep 0.5
|
||||
exit 0
|
||||
'')
|
||||
# pass it through fmt for soft word wrapping
|
||||
pass -c "$pass_string" | fmt -w 45
|
||||
/run/current-system/sw/bin/rm /tmp/passhelperfile
|
||||
sleep 0.5
|
||||
exit 0
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "power-menu" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "power-menu" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
rofi -show p -modi p:'rofi-power-menu' -theme-str 'window {width: 10em; height: 15em;} listview {lines: 5;}'
|
||||
'')
|
||||
rofi -show p -modi p:'rofi-power-menu' -theme-str 'window {width: 10em; height: 15em;} listview {lines: 5;}'
|
||||
''
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "shutdown-script" ''
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
respond="$(echo " Shutdown\n Restart\n Cancel" | rofi -dmenu)"
|
||||
|
||||
pkgs.writeShellScriptBin "shutdown-script" (''
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
respond="$(echo " Shutdown\n Restart\n Cancel" | rofi -dmenu)"
|
||||
|
||||
if [ $respond = ' Shutdown' ]
|
||||
then
|
||||
echo "shutdown"
|
||||
shutdown now
|
||||
elif [ $respond = ' Restart' ]
|
||||
then
|
||||
echo "restart"
|
||||
reboot
|
||||
else
|
||||
notify-send "cancel shutdown"
|
||||
fi
|
||||
'')
|
||||
if [ $respond = ' Shutdown' ]
|
||||
then
|
||||
echo "shutdown"
|
||||
shutdown now
|
||||
elif [ $respond = ' Restart' ]
|
||||
then
|
||||
echo "restart"
|
||||
reboot
|
||||
else
|
||||
notify-send "cancel shutdown"
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "switchmon" ''
|
||||
#!/bin/zsh
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "switchmon" (''
|
||||
#!/bin/zsh
|
||||
|
||||
hyprctl dispatch focusmonitor $(echo "$(hyprctl -j monitors)" | jq -r '.[] | select(.focused == false) | .name')
|
||||
'')
|
||||
hyprctl dispatch focusmonitor $(echo "$(hyprctl -j monitors)" | jq -r '.[] | select(.focused == false) | .name')
|
||||
''
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "toggle_blur" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_blur" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if hyprctl getoption decoration:blur:enabled | grep "int: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:blur:enabled false >/dev/null
|
||||
else
|
||||
hyprctl keyword decoration:blur:enabled true >/dev/null
|
||||
fi
|
||||
'')
|
||||
if hyprctl getoption decoration:blur:enabled | grep "int: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:blur:enabled false >/dev/null
|
||||
else
|
||||
hyprctl keyword decoration:blur:enabled true >/dev/null
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "toggle_float" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_float" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
hyprctl dispatch togglefloating
|
||||
hyprctl dispatch resizeactive exact 950 600
|
||||
hyprctl dispatch centerwindow
|
||||
'')
|
||||
hyprctl dispatch togglefloating
|
||||
hyprctl dispatch resizeactive exact 950 600
|
||||
hyprctl dispatch centerwindow
|
||||
''
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "toggle_oppacity" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_oppacity" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if hyprctl getoption decoration:active_opacity | grep "float: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:active_opacity 0.90 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 0.90 >/dev/null
|
||||
else
|
||||
hyprctl keyword decoration:active_opacity 1 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 1 >/dev/null
|
||||
fi
|
||||
'')
|
||||
if hyprctl getoption decoration:active_opacity | grep "float: 1" >/dev/null ; then
|
||||
hyprctl keyword decoration:active_opacity 0.90 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 0.90 >/dev/null
|
||||
else
|
||||
hyprctl keyword decoration:active_opacity 1 >/dev/null
|
||||
hyprctl keyword decoration:inactive_opacity 1 >/dev/null
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
{ self, pkgs }:
|
||||
{
|
||||
self,
|
||||
pkgs,
|
||||
}:
|
||||
pkgs.writeShellScriptBin "toggle_waybar" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SERVICE=".waybar-wrapped"
|
||||
|
||||
pkgs.writeShellScriptBin "toggle_waybar" (''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
SERVICE=".waybar-wrapped"
|
||||
|
||||
if pgrep -x "$SERVICE" >/dev/null
|
||||
then
|
||||
pkill -9 waybar
|
||||
else
|
||||
runbg waybar
|
||||
fi
|
||||
'')
|
||||
if pgrep -x "$SERVICE" >/dev/null
|
||||
then
|
||||
pkill -9 waybar
|
||||
else
|
||||
runbg waybar
|
||||
fi
|
||||
''
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = (with pkgs; [ swaynotificationcenter ]);
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [swaynotificationcenter];
|
||||
xdg.configFile."swaync/style.css".source = ./style.css;
|
||||
xdg.configFile."swaync/config.json".source = ./config.json;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [ (import ./waybar.nix) ]
|
||||
++ [ (import ./settings.nix) ]
|
||||
++ [ (import ./style.nix) ];
|
||||
{...}: {
|
||||
imports =
|
||||
[(import ./waybar.nix)]
|
||||
++ [(import ./settings.nix)]
|
||||
++ [(import ./style.nix)];
|
||||
}
|
||||
|
||||
@@ -1,149 +1,147 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
{...}: {
|
||||
programs.waybar.settings.mainBar = {
|
||||
position= "top";
|
||||
layer= "top";
|
||||
height= 5;
|
||||
margin-top= 0;
|
||||
margin-bottom= 0;
|
||||
margin-left= 0;
|
||||
margin-right= 0;
|
||||
modules-left= [
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"hyprland/workspaces"
|
||||
position = "top";
|
||||
layer = "top";
|
||||
height = 5;
|
||||
margin-top = 0;
|
||||
margin-bottom = 0;
|
||||
margin-left = 0;
|
||||
margin-right = 0;
|
||||
modules-left = [
|
||||
"custom/launcher"
|
||||
"custom/separator"
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-center= [
|
||||
"clock"
|
||||
modules-center = [
|
||||
"clock"
|
||||
];
|
||||
modules-right= [
|
||||
"tray"
|
||||
"custom/separator"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"network"
|
||||
"custom/separator"
|
||||
"custom/notification"
|
||||
modules-right = [
|
||||
"tray"
|
||||
"custom/separator"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"custom/separator"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"network"
|
||||
"custom/separator"
|
||||
"custom/notification"
|
||||
];
|
||||
clock= {
|
||||
calendar = {
|
||||
format = { today = "<span color='#b4befe'><b><u>{}</u></b></span>"; };
|
||||
};
|
||||
format = " {:%H:%M}";
|
||||
tooltip= "true";
|
||||
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt= " {:%d/%m}";
|
||||
clock = {
|
||||
calendar = {
|
||||
format = {today = "<span color='#b4befe'><b><u>{}</u></b></span>";};
|
||||
};
|
||||
format = " {:%H:%M}";
|
||||
tooltip = "true";
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt = " {:%d/%m}";
|
||||
};
|
||||
"hyprland/workspaces"= {
|
||||
active-only= false;
|
||||
disable-scroll= true;
|
||||
format = "{icon}";
|
||||
on-click= "activate";
|
||||
format-icons= {
|
||||
"1"= "一";
|
||||
"2"= "二";
|
||||
"3"= "三";
|
||||
"4"= "四";
|
||||
"5"= "五";
|
||||
"6"= "六";
|
||||
urgent= "";
|
||||
default = "";
|
||||
sort-by-number= true;
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"1"= [];
|
||||
"2"= [];
|
||||
"3"= [];
|
||||
"4"= [];
|
||||
"5"= [];
|
||||
"6"= [];
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
active-only = false;
|
||||
disable-scroll = true;
|
||||
format = "{icon}";
|
||||
on-click = "activate";
|
||||
format-icons = {
|
||||
"1" = "一";
|
||||
"2" = "二";
|
||||
"3" = "三";
|
||||
"4" = "四";
|
||||
"5" = "五";
|
||||
"6" = "六";
|
||||
urgent = "";
|
||||
default = "";
|
||||
sort-by-number = true;
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"1" = [];
|
||||
"2" = [];
|
||||
"3" = [];
|
||||
"4" = [];
|
||||
"5" = [];
|
||||
"6" = [];
|
||||
};
|
||||
};
|
||||
memory= {
|
||||
format= " {}%";
|
||||
format-alt= " {used} GiB"; #
|
||||
interval= 2;
|
||||
memory = {
|
||||
format = " {}%";
|
||||
format-alt = " {used} GiB"; #
|
||||
interval = 2;
|
||||
};
|
||||
cpu= {
|
||||
format= " {usage}%";
|
||||
format-alt= " {avg_frequency} GHz";
|
||||
interval= 2;
|
||||
cpu = {
|
||||
format = " {usage}%";
|
||||
format-alt = " {avg_frequency} GHz";
|
||||
interval = 2;
|
||||
};
|
||||
disk = {
|
||||
# path = "/";
|
||||
format = " {percentage_used}%";
|
||||
interval= 60;
|
||||
# path = "/";
|
||||
format = " {percentage_used}%";
|
||||
interval = 60;
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
};
|
||||
tray= {
|
||||
icon-size= 20;
|
||||
spacing= 8;
|
||||
tray = {
|
||||
icon-size = 20;
|
||||
spacing = 8;
|
||||
};
|
||||
pulseaudio= {
|
||||
format= "{icon} {volume}%";
|
||||
format-muted= " {volume}%";
|
||||
format-icons= {
|
||||
default= [" "];
|
||||
};
|
||||
scroll-step= 5;
|
||||
on-click= "pamixer -t";
|
||||
on-click-right= "pavucontrol";
|
||||
pulseaudio = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = " {volume}%";
|
||||
format-icons = {
|
||||
default = [" "];
|
||||
};
|
||||
scroll-step = 5;
|
||||
on-click = "pamixer -t";
|
||||
on-click-right = "pavucontrol";
|
||||
};
|
||||
battery = {
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-charging = " {capacity}%";
|
||||
format-full = " {capacity}%";
|
||||
format-warning = " {capacity}%";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 20;
|
||||
};
|
||||
format-time = "{H}h{M}m";
|
||||
tooltip = true;
|
||||
tooltip-format = "{time}";
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-charging = " {capacity}%";
|
||||
format-full = " {capacity}%";
|
||||
format-warning = " {capacity}%";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 20;
|
||||
};
|
||||
format-time = "{H}h{M}m";
|
||||
tooltip = true;
|
||||
tooltip-format = "{time}";
|
||||
};
|
||||
"custom/launcher"= {
|
||||
format= "";
|
||||
on-click= "fuzzel";
|
||||
on-click-right= "wallpaper-picker";
|
||||
tooltip= "false";
|
||||
"custom/launcher" = {
|
||||
format = "";
|
||||
on-click = "fuzzel";
|
||||
on-click-right = "wallpaper-picker";
|
||||
tooltip = "false";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} ";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span> ";
|
||||
none = " ";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-none = " ";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
inhibited-none = " ";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-inhibited-none = " ";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
tooltip = false;
|
||||
format = "{icon} ";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span> ";
|
||||
none = " ";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-none = " ";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
inhibited-none = " ";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-inhibited-none = " ";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
};
|
||||
"custom/separator" = {
|
||||
exec = "echo ' | '";
|
||||
interval = 600;
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/separator" = {
|
||||
exec = "echo ' | '";
|
||||
interval = 600;
|
||||
tooltip = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{ ... }:
|
||||
|
||||
let custom = {
|
||||
{...}: let
|
||||
custom = {
|
||||
font = "JetBrainsMono Nerd Font";
|
||||
font_size = "22px";
|
||||
font_weight = "bold";
|
||||
@@ -8,93 +7,92 @@ let custom = {
|
||||
secondary_accent = "#89b4fa";
|
||||
tertiary_accent = "#f5f5f5";
|
||||
background = "#11111B";
|
||||
};
|
||||
in
|
||||
{
|
||||
};
|
||||
in {
|
||||
programs.waybar.style = ''
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 0px;
|
||||
font-family: ${custom.font};
|
||||
font-weight: ${custom.font_weight};
|
||||
}
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 0px;
|
||||
font-family: ${custom.font};
|
||||
font-weight: ${custom.font_weight};
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: ${custom.background};
|
||||
}
|
||||
window#waybar {
|
||||
background: ${custom.background};
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
font-size: ${custom.font_size};
|
||||
|
||||
}
|
||||
#workspaces button {
|
||||
color: ${custom.text_color};
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
#workspaces button.empty {
|
||||
color: #6c7086;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #b4befe;
|
||||
}
|
||||
#workspaces {
|
||||
font-size: ${custom.font_size};
|
||||
|
||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
||||
font-size: ${custom.font_size};
|
||||
color: ${custom.text_color};
|
||||
}
|
||||
}
|
||||
#workspaces button {
|
||||
color: ${custom.text_color};
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
#workspaces button.empty {
|
||||
color: #6c7086;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #b4befe;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#memory {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#disk {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
||||
font-size: ${custom.font_size};
|
||||
color: ${custom.text_color};
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin-left: 7px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
#cpu {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#memory {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#disk {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#battery {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#network {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
#tray {
|
||||
margin-left: 7px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
custom-notification {
|
||||
padding-left: 15px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding-left: 9px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
#pulseaudio {
|
||||
padding-left: 5px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#battery {
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#network {
|
||||
padding-left: 9px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
font-size: ${custom.font_size};
|
||||
color: #b4befe;
|
||||
font-weight: ${custom.font_weight};
|
||||
padding-left: 10px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
custom-notification {
|
||||
padding-left: 15px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding-left: 9px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#custom-launcher {
|
||||
font-size: ${custom.font_size};
|
||||
color: #b4befe;
|
||||
font-weight: ${custom.font_weight};
|
||||
padding-left: 10px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
};
|
||||
programs.waybar.package = pkgs.waybar.overrideAttrs (oa: {
|
||||
mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ];
|
||||
mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
{ inputs, nixpkgs, config, self, username, host, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (import ./hardware/bootloader.nix) ]
|
||||
++ [ (import ./hardware/network.nix) ]
|
||||
++ [ (import ./software/fonts.nix) ]
|
||||
++ [ (import ./software/sddm.nix) ]
|
||||
++ [ (import ./software/packages.nix) ]
|
||||
++ [ (import ./software/programs.nix) ]
|
||||
++ [ (import ./software/services.nix) ]
|
||||
++ [ (import ./software/users.nix) ];
|
||||
inputs,
|
||||
nixpkgs,
|
||||
config,
|
||||
self,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[(import ./hardware/bootloader.nix)]
|
||||
++ [(import ./hardware/network.nix)]
|
||||
++ [(import ./software/fonts.nix)]
|
||||
++ [(import ./software/sddm.nix)]
|
||||
++ [(import ./software/packages.nix)]
|
||||
++ [(import ./software/programs.nix)]
|
||||
++ [(import ./software/services.nix)]
|
||||
++ [(import ./software/users.nix)];
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot.configurationLimit = 10;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot.configurationLimit = 10;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{ host, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
hostName = if (host == "desktop") then
|
||||
"argon" else "mercury";
|
||||
hosts = {
|
||||
"192.168.1.163" = [ "glasshaus" ];
|
||||
"192.168.1.111" = [ "argon" ];
|
||||
"192.168.1.223" = [ "mercury" ];
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [ 30000 ];
|
||||
};
|
||||
};
|
||||
{host, ...}: {
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
hostName =
|
||||
if (host == "desktop")
|
||||
then "argon"
|
||||
else "mercury";
|
||||
hosts = {
|
||||
"192.168.1.163" = ["glasshaus"];
|
||||
"192.168.1.111" = ["argon"];
|
||||
"192.168.1.223" = ["mercury"];
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [30000];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
times-newer-roman
|
||||
nerdfonts
|
||||
jetbrains-mono
|
||||
];
|
||||
{pkgs, ...}: {
|
||||
fonts.packages = with pkgs; [
|
||||
times-newer-roman
|
||||
nerdfonts
|
||||
jetbrains-mono
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,71 +1,74 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-lib
|
||||
alsa-utils
|
||||
bc
|
||||
cava
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
fail2ban
|
||||
feh
|
||||
ffmpeg-full
|
||||
fuse
|
||||
git
|
||||
gnumake
|
||||
gst_all_1.gstreamer
|
||||
htop
|
||||
hyprland
|
||||
hyprland-workspaces
|
||||
hyprpaper
|
||||
hyprpicker
|
||||
imagemagick
|
||||
inetutils
|
||||
kitty
|
||||
libclang
|
||||
libcxx
|
||||
lolcat
|
||||
lsof
|
||||
lua-language-server
|
||||
luarocks
|
||||
mesa
|
||||
mpd
|
||||
mullvad
|
||||
neofetch
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
nixos-option
|
||||
nix-search-cli
|
||||
openssl
|
||||
p7zip
|
||||
jq
|
||||
pamixer
|
||||
parted
|
||||
pavucontrol
|
||||
pkg-config
|
||||
playerctl
|
||||
protonmail-bridge
|
||||
protontricks
|
||||
pyright
|
||||
quintom-cursor-theme
|
||||
socat
|
||||
sox
|
||||
stress
|
||||
tor
|
||||
tree
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
vim
|
||||
vscode-langservers-extracted
|
||||
vulkan-loader
|
||||
wget
|
||||
wine
|
||||
wl-clipboard
|
||||
xpad
|
||||
libnotify
|
||||
file
|
||||
];
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
alejandra
|
||||
alsa-lib
|
||||
alsa-utils
|
||||
bc
|
||||
cava
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
fail2ban
|
||||
feh
|
||||
ffmpeg-full
|
||||
fuse
|
||||
git
|
||||
gnumake
|
||||
gst_all_1.gstreamer
|
||||
htop
|
||||
hyprland
|
||||
hyprland-workspaces
|
||||
hyprpaper
|
||||
hyprpicker
|
||||
imagemagick
|
||||
inetutils
|
||||
kitty
|
||||
libclang
|
||||
libcxx
|
||||
lolcat
|
||||
lsof
|
||||
lua-language-server
|
||||
luarocks
|
||||
mesa
|
||||
mpd
|
||||
mullvad
|
||||
neofetch
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
nixos-option
|
||||
nix-search-cli
|
||||
openssl
|
||||
p7zip
|
||||
jq
|
||||
pamixer
|
||||
parted
|
||||
pavucontrol
|
||||
pkg-config
|
||||
playerctl
|
||||
protonmail-bridge
|
||||
protontricks
|
||||
pyright
|
||||
quintom-cursor-theme
|
||||
socat
|
||||
sox
|
||||
stress
|
||||
tor
|
||||
tree
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
vim
|
||||
vscode-langservers-extracted
|
||||
vulkan-loader
|
||||
wget
|
||||
wine
|
||||
wl-clipboard
|
||||
xpad
|
||||
libnotify
|
||||
file
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
hyprland.enable = true;
|
||||
zsh.enable = true;
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
ffmpeg-full
|
||||
];
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
hyprland.enable = true;
|
||||
zsh.enable = true;
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
ffmpeg-full
|
||||
];
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
{ pkgs, self, config, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = [(
|
||||
pkgs.catppuccin-sddm.override {
|
||||
flavor="mocha";
|
||||
font="JetBrains Mono";
|
||||
fontSize="9";
|
||||
background="${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
|
||||
}
|
||||
)];
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
};
|
||||
pkgs,
|
||||
self,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = [
|
||||
(
|
||||
pkgs.catppuccin-sddm.override {
|
||||
flavor = "mocha";
|
||||
font = "JetBrains Mono";
|
||||
fontSize = "9";
|
||||
background = "${self}/media/wallpapers/catppuccin/nixos-catppuccin.png";
|
||||
}
|
||||
)
|
||||
];
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "catppuccin-mocha";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
{ pkgs, ...}:
|
||||
|
||||
{
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
};
|
||||
udev.enable = true;
|
||||
dbus.enable = true;
|
||||
mullvad-vpn.enable = true;
|
||||
blueman.enable = true;
|
||||
openssh.enable = true;
|
||||
};
|
||||
{pkgs, ...}: {
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
};
|
||||
udev.enable = true;
|
||||
dbus.enable = true;
|
||||
mullvad-vpn.enable = true;
|
||||
blueman.enable = true;
|
||||
openssh.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,37 +1,42 @@
|
||||
{ config, inputs, pkgs, username, self, host, ... }:
|
||||
|
||||
let
|
||||
nur = config.nur;
|
||||
in
|
||||
{
|
||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = { inherit self inputs host username nur; };
|
||||
users.${username} = {
|
||||
programs.home-manager.enable = true;
|
||||
imports = [ ./../../home ];
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "24.05";
|
||||
pointerCursor = {
|
||||
name = "Quintom_Ink";
|
||||
size = 36;
|
||||
package = pkgs.quintom-cursor-theme;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
users.users.${username} = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" ];
|
||||
};
|
||||
security.sudo.extraConfig = ''
|
||||
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
|
||||
'';
|
||||
nix.settings.allowed-users = [ "${username}" ];
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
username,
|
||||
self,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
nur = config.nur;
|
||||
in {
|
||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = {inherit self inputs host username nur;};
|
||||
users.${username} = {
|
||||
programs.home-manager.enable = true;
|
||||
imports = [./../../home];
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "24.05";
|
||||
pointerCursor = {
|
||||
name = "Quintom_Ink";
|
||||
size = 36;
|
||||
package = pkgs.quintom-cursor-theme;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
users.users.${username} = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = ["wheel"];
|
||||
};
|
||||
security.sudo.extraConfig = ''
|
||||
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
|
||||
'';
|
||||
nix.settings.allowed-users = ["${username}"];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user