mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 14:28:02 +03:00
dentritic refactor
This commit is contained in:
140 files changed
+2285
-2622
No files matched your search
@@ -1,10 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./programs
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
base = ''
|
||||
[user]
|
||||
name = elwrcl
|
||||
email = elwerici@proton.me
|
||||
signingkey = 5EA48F7312A42B84
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[tag]
|
||||
gpgsign = true
|
||||
'';
|
||||
|
||||
darwinExtra = ''
|
||||
[credential]
|
||||
helper = osxkeychain
|
||||
'';
|
||||
|
||||
gitconfig = pkgs.writeText "gitconfig" (base + lib.optionalString pkgs.stdenv.isDarwin darwinExtra);
|
||||
in
|
||||
{
|
||||
environment.variables.GIT_CONFIG_SYSTEM = "${gitconfig}";
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-base =
|
||||
{ ... }:
|
||||
{
|
||||
programs.home-manager.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-cursor =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
name = "macOS";
|
||||
package = pkgs.apple-cursor;
|
||||
size = 24;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-discord =
|
||||
{ inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.nixcord.homeModules.nixcord
|
||||
];
|
||||
|
||||
programs.nixcord = {
|
||||
enable = true;
|
||||
legcord = {
|
||||
enable = true;
|
||||
settings = {
|
||||
channel = "stable";
|
||||
tray = "dynamic";
|
||||
minimizeToTray = true;
|
||||
mods = [ "shelter" ];
|
||||
doneSetup = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-easyeffects =
|
||||
{ ... }:
|
||||
{
|
||||
services.easyeffects.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-ghostty =
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
isDarwin = pkgs.stdenv.isDarwin;
|
||||
|
||||
linuxKeybinds = [
|
||||
"alt+r=reload_config"
|
||||
"alt+q=close_surface"
|
||||
|
||||
"ctrl+space=new_tab"
|
||||
"ctrl+page_down=next_tab"
|
||||
"ctrl+page_up=previous_tab"
|
||||
"alt+comma=move_tab:-1"
|
||||
"alt+period=move_tab:1"
|
||||
|
||||
"alt+1=goto_tab:1"
|
||||
"alt+2=goto_tab:2"
|
||||
"alt+3=goto_tab:3"
|
||||
"alt+4=goto_tab:4"
|
||||
"alt+5=goto_tab:5"
|
||||
"alt+6=goto_tab:6"
|
||||
"alt+7=goto_tab:7"
|
||||
"alt+8=goto_tab:8"
|
||||
"alt+9=goto_tab:9"
|
||||
|
||||
"ctrl+shift+backslash=new_split:right"
|
||||
"ctrl+shift+minus=new_split:down"
|
||||
|
||||
"alt+h=goto_split:left"
|
||||
"alt+j=goto_split:bottom"
|
||||
"alt+k=goto_split:top"
|
||||
"alt+l=goto_split:right"
|
||||
|
||||
"ctrl+shift+z=toggle_split_zoom"
|
||||
"ctrl+shift+e=equalize_splits"
|
||||
];
|
||||
|
||||
darwinKeybinds = [
|
||||
"cmd+s>r=reload_config"
|
||||
"cmd+s>x=close_surface"
|
||||
"cmd+s>n=new_window"
|
||||
|
||||
"cmd+s>c=new_tab"
|
||||
"cmd+s>shift+l=next_tab"
|
||||
"cmd+s>shift+h=previous_tab"
|
||||
"cmd+s>comma=move_tab:-1"
|
||||
"cmd+s>period=move_tab:1"
|
||||
|
||||
"cmd+s>1=goto_tab:1"
|
||||
"cmd+s>2=goto_tab:2"
|
||||
"cmd+s>3=goto_tab:3"
|
||||
"cmd+s>4=goto_tab:4"
|
||||
"cmd+s>5=goto_tab:5"
|
||||
"cmd+s>6=goto_tab:6"
|
||||
"cmd+s>7=goto_tab:7"
|
||||
"cmd+s>8=goto_tab:8"
|
||||
"cmd+s>9=goto_tab:9"
|
||||
|
||||
"cmd+s>\\=new_split:right"
|
||||
"cmd+s>-=new_split:down"
|
||||
"cmd+s>h=goto_split:left"
|
||||
"cmd+s>j=goto_split:bottom"
|
||||
"cmd+s>k=goto_split:top"
|
||||
"cmd+s>l=goto_split:right"
|
||||
"cmd+s>z=toggle_split_zoom"
|
||||
"cmd+s>e=equalize_splits"
|
||||
];
|
||||
in
|
||||
{
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
installBatSyntax = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
settings = {
|
||||
font-family = "JetBrainsMono Nerd Font";
|
||||
font-size = 11;
|
||||
|
||||
window-padding-x = 10;
|
||||
window-padding-y = 10;
|
||||
window-padding-balance = true;
|
||||
window-save-state = "always";
|
||||
|
||||
mouse-hide-while-typing = true;
|
||||
mouse-scroll-multiplier = 2;
|
||||
shell-integration-features = "no-cursor,sudo,no-title";
|
||||
|
||||
palette = [
|
||||
"0=#090E13"
|
||||
"1=#c4746e"
|
||||
"2=#8a9a7b"
|
||||
"3=#c4b28a"
|
||||
"4=#8ba4b0"
|
||||
"5=#a292a3"
|
||||
"6=#8ea4a2"
|
||||
"7=#a4a7a4"
|
||||
"8=#5C6066"
|
||||
"9=#e46876"
|
||||
"10=#87a987"
|
||||
"11=#e6c384"
|
||||
"12=#7fb4ca"
|
||||
"13=#938aa9"
|
||||
"14=#7aa89f"
|
||||
"15=#c5c9c7"
|
||||
];
|
||||
|
||||
background = "#090E13";
|
||||
foreground = "#c5c9c7";
|
||||
cursor-color = "#c5c9c7";
|
||||
cursor-text = "#9cdef2";
|
||||
selection-background = "#22262D";
|
||||
selection-foreground = "#c5c9c7";
|
||||
cursor-style = "block";
|
||||
cursor-style-blink = true;
|
||||
adjust-cell-height = "35%";
|
||||
background-opacity = 0.96;
|
||||
|
||||
keybind = linuxKeybinds ++ lib.optionals isDarwin darwinKeybinds;
|
||||
}
|
||||
// lib.optionalAttrs isDarwin {
|
||||
macos-titlebar-style = "transparent";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-gtk =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme.name = "WhiteSur-Dark";
|
||||
theme.package = pkgs.whitesur-gtk-theme;
|
||||
gtk4.theme.name = "WhiteSur-Dark";
|
||||
gtk4.theme.package = pkgs.whitesur-gtk-theme;
|
||||
iconTheme.name = "WhiteSur-dark";
|
||||
iconTheme.package = pkgs.whitesur-icon-theme;
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings."org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
gtk-theme = "WhiteSur-Dark";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-mimeapps =
|
||||
{ ... }:
|
||||
{
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"inode/directory" = [ "org.kde.dolphin.desktop" ];
|
||||
"x-scheme-handler/http" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/https" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/about" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/unknown" = [ "zen-beta.desktop" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-nushell =
|
||||
{ ... }:
|
||||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
|
||||
shellAliases = {
|
||||
ls = "eza --icons --group-directories-first";
|
||||
ll = "eza -lah --icons --group-directories-first";
|
||||
la = "eza -a --icons --group-directories-first";
|
||||
lt = "eza --tree --level=2 --icons";
|
||||
cat = "bat";
|
||||
df = "df -h";
|
||||
du = "du -h";
|
||||
free = "free -h";
|
||||
rm = "trash-put";
|
||||
sysinfo = "fastfetch";
|
||||
monitor = "sudo btop";
|
||||
ports = "sudo ss -tulpn";
|
||||
myip = "curl ifconfig.me";
|
||||
gs = "git status";
|
||||
ga = "git add";
|
||||
gp = "git push";
|
||||
gl = "git log --oneline --graph --decorate";
|
||||
".." = "cd ..";
|
||||
"..." = "cd ../..";
|
||||
"...." = "cd ../../..";
|
||||
};
|
||||
|
||||
environmentVariables = {
|
||||
MESA_SHADER_CACHE_MAX_SIZE = "2G";
|
||||
MESA_SHADER_CACHE_DIR = "/tmp/mesa_shader_cache";
|
||||
};
|
||||
|
||||
extraEnv = ''
|
||||
$env.PATH = ($env.PATH | prepend $"($env.HOME)/.local/bin")
|
||||
'';
|
||||
|
||||
extraConfig = ''
|
||||
$env.config.show_banner = false
|
||||
def gc [msg: string] { git commit -m $msg }
|
||||
def rebuild [] {
|
||||
git -C ~/copland add -A
|
||||
git -C ~/copland commit -m "update"
|
||||
nh os switch
|
||||
}
|
||||
|
||||
def rebuild-dry [] { nh os switch --dry }
|
||||
def rebuild-cop [] {
|
||||
nix flake update --flake ~/copland
|
||||
git -C ~/copland add -A
|
||||
git -C ~/copland commit -m $"flake update (date now | format date '%Y-%m-%d')"
|
||||
nh os switch
|
||||
}
|
||||
def extract [file: string] {
|
||||
let ext = ($file | path parse | get extension)
|
||||
match $ext {
|
||||
"gz" => { tar xzf $file },
|
||||
"bz2" => { tar xjf $file },
|
||||
"tar" => { tar xf $file },
|
||||
"zip" => { unzip $file },
|
||||
"7z" => { 7z x $file },
|
||||
"rar" => { unrar e $file },
|
||||
_ => { print $"'($file)' can't be extracted" }
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-qt =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "kde";
|
||||
style.name = "kvantum";
|
||||
};
|
||||
|
||||
xdg.configFile."Kvantum/WhiteSur-Dark/WhiteSur-Dark.kvconfig".source =
|
||||
"${pkgs.whitesur-kde}/share/Kvantum/WhiteSur/WhiteSurDark.kvconfig";
|
||||
xdg.configFile."Kvantum/WhiteSur-Dark/WhiteSur-Dark.svg".source =
|
||||
"${pkgs.whitesur-kde}/share/Kvantum/WhiteSur/WhiteSurDark.svg";
|
||||
|
||||
xdg.configFile."Kvantum/kvantum.kvconfig".text = ''
|
||||
[General]
|
||||
theme=WhiteSur-Dark
|
||||
'';
|
||||
|
||||
xdg.configFile."kdeglobals".text = ''
|
||||
[General]
|
||||
font=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
fixed=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
menuFont=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
toolBarFont=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
smallestReadableFont=JetBrainsMono Nerd Font,9,-1,5,50,0,0,0,0,0
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-session-vars =
|
||||
{ ... }:
|
||||
{
|
||||
home.sessionVariables = {
|
||||
BROWSER = "zen-beta.desktop";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-shell-tools =
|
||||
{ ... }:
|
||||
{
|
||||
programs.starship.enable = true;
|
||||
programs.fzf.enable = true;
|
||||
programs.zoxide.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.home-zsh =
|
||||
{ ... }:
|
||||
{
|
||||
# TODO nu
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
initContent = ''
|
||||
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
|
||||
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
||||
|
||||
alias ls='eza --icons --group-directories-first'
|
||||
alias ll='eza -lah --icons --group-directories-first'
|
||||
alias la='eza -a --icons --group-directories-first'
|
||||
alias lt='eza --tree --level=2 --icons'
|
||||
|
||||
alias cd='z'
|
||||
alias cat='bat'
|
||||
alias grep='grep --color=auto'
|
||||
alias df='df -h'
|
||||
alias du='du -h'
|
||||
alias free='free -h'
|
||||
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
alias rm='trash-put'
|
||||
|
||||
alias sysinfo='fastfetch'
|
||||
alias monitor='sudo btop'
|
||||
alias ports='sudo ss -tulpn'
|
||||
alias myip='curl ifconfig.me'
|
||||
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
alias ~='cd ~'
|
||||
alias -- -='cd -'
|
||||
|
||||
alias gs='git status'
|
||||
alias ga='git add'
|
||||
alias gc='git commit -m'
|
||||
alias gp='git push'
|
||||
alias gl='git log --oneline --graph --decorate'
|
||||
|
||||
alias rebuild='git -C ~/copland add -A && git -C ~/copland commit -m "update" && nh os switch'
|
||||
alias rebuild-dry='nh os switch --dry'
|
||||
alias rebuild-cop='nix flake update --flake ~/copland && git -C ~/copland add -A && git -C ~/copland commit -m "flake update $(date +%Y-%m-%d)" && nh os switch'
|
||||
|
||||
extract() {
|
||||
if [ -f "$1" ]; then
|
||||
case "$1" in
|
||||
*.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;;
|
||||
*.bz2) bunzip2 "$1" ;; *.rar) unrar e "$1" ;;
|
||||
*.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;;
|
||||
*.zip) unzip "$1" ;; *.7z) 7z x "$1" ;;
|
||||
*) echo "'$1' can't be extracted" ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTFILE=~/.zsh_history
|
||||
setopt HIST_IGNORE_DUPS HIST_IGNORE_SPACE SHARE_HISTORY AUTO_CD
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||
|
||||
export MESA_SHADER_CACHE_MAX_SIZE=2G
|
||||
export MESA_SHADER_CACHE_DIR=/tmp/mesa_shader_cache
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
/home/elars/.config/copetch/animated-copetch.sh
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./hyprland/env.nix
|
||||
./hyprland/execs.nix
|
||||
./hyprland/general.nix
|
||||
./hyprland/rules.nix
|
||||
./hyprland/keybinds.nix
|
||||
];
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"XCURSOR_SIZE,24"
|
||||
"XCURSOR_THEME,Bibata-Modern-Classic"
|
||||
"QT_STYLE_OVERRIDE,adwaita-dark"
|
||||
"GDK_BACKEND,wayland,x11"
|
||||
"QT_QPA_PLATFORM,wayland;xcb"
|
||||
"QT_QPA_PLATFORMTHEME,gtk3"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
"TERMINAL,ghostty"
|
||||
"MESA_GL_VERSION_OVERRIDE,4.6"
|
||||
"MESA_GLSL_VERSION_OVERRIDE,460"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"noctalia-shell"
|
||||
"hyprctl setcursor Bibata-Modern-Classic 24"
|
||||
"wl-paste --type text --watch cliphist store"
|
||||
"wl-paste --type image --watch cliphist store"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = ",preferred,auto,1";
|
||||
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 7;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgba(61afefff) ";
|
||||
"col.inactive_border" = "rgba(444444ff)";
|
||||
resize_on_border = true;
|
||||
allow_tearing = true;
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 1;
|
||||
rounding_power = 2;
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
blur = {
|
||||
size = 2;
|
||||
passes = 1;
|
||||
brightness = 0.4;
|
||||
};
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 5;
|
||||
render_power = 4;
|
||||
color = "rgba(1fbeffee)";
|
||||
};
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "tr";
|
||||
numlock_by_default = true;
|
||||
repeat_delay = 250;
|
||||
repeat_rate = 35;
|
||||
sensitivity = -5;
|
||||
accel_profile = "adaptive";
|
||||
follow_mouse = 1;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
disable_while_typing = true;
|
||||
clickfinger_behavior = true;
|
||||
scroll_factor = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe_distance = 700;
|
||||
workspace_swipe_cancel_ratio = 0.2;
|
||||
workspace_swipe_min_speed_to_force = 5;
|
||||
workspace_swipe_direction_lock = true;
|
||||
workspace_swipe_create_new = true;
|
||||
};
|
||||
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
disable_splash_rendering = true;
|
||||
mouse_move_enables_dpms = true;
|
||||
key_press_enables_dpms = true;
|
||||
animate_manual_resizes = false;
|
||||
focus_on_activate = false;
|
||||
};
|
||||
|
||||
bezier = [
|
||||
"omniDecel, 0.05, 0.9, 0.1, 1"
|
||||
"omniAccel, 0.3, 0, 0.8, 0.15"
|
||||
"omniSmooth, 0.25, 0.1, 0.25, 1"
|
||||
"omniOvershoot, 0.16, 1, 0.3, 1"
|
||||
"menu_decel, 0.1, 1, 0, 1"
|
||||
"menu_accel, 0.52, 0.03, 0.72, 0.08"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windowsIn, 1, 6, omniOvershoot, popin 86%"
|
||||
"windowsOut, 1, 5, omniAccel, popin 92%"
|
||||
"windowsMove, 1, 6, omniDecel, slide"
|
||||
"fadeIn, 1, 5, omniDecel"
|
||||
"fadeOut, 1, 4, omniAccel"
|
||||
"border, 1, 10, omniSmooth"
|
||||
"layersIn, 1, 5, omniDecel, popin 92%"
|
||||
"layersOut, 1, 4, omniAccel, popin 94%"
|
||||
"fadeLayersIn, 1, 3, omniDecel"
|
||||
"fadeLayersOut, 1, 3, omniAccel"
|
||||
"workspaces, 1, 8, omniDecel, slide"
|
||||
"specialWorkspaceIn, 1, 5, omniDecel, slidevert"
|
||||
"specialWorkspaceOut, 1, 4, omniAccel, slidevert"
|
||||
];
|
||||
|
||||
device = [
|
||||
{
|
||||
name = "hp--inc-hyperx-cloud-alpha-s-consumer-control";
|
||||
enabled = false;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,121 +0,0 @@
|
||||
{ ... }:
|
||||
let
|
||||
ipc = "noctalia-shell ipc call";
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
|
||||
bindr = [
|
||||
"$mainMod, SUPER_L, exec, ${ipc} launcher toggle"
|
||||
];
|
||||
|
||||
bind = [
|
||||
# workspace
|
||||
"CTRL $mainMod, right, workspace, r+1"
|
||||
"CTRL $mainMod, left, workspace, r-1"
|
||||
"CTRL $mainMod, down, workspace, r+1"
|
||||
"CTRL $mainMod, up, workspace, r-1"
|
||||
"CTRL $mainMod SHIFT, right, movetoworkspace, r+1"
|
||||
"CTRL $mainMod SHIFT, left, movetoworkspace, r-1"
|
||||
"CTRL $mainMod SHIFT, down, movetoworkspace, r+1"
|
||||
"CTRL $mainMod SHIFT, up, movetoworkspace, r-1"
|
||||
|
||||
# interface
|
||||
"$mainMod, P, exec, ${ipc} bar toggle"
|
||||
"CTRL ALT, Delete, exec, ${ipc} sessionMenu toggle"
|
||||
|
||||
# plugins
|
||||
"$mainMod SHIFT, S, exec, ${ipc} plugin:screen-shot-and-record screenshot"
|
||||
"$mainMod SHIFT, Z, exec, ${ipc} plugin:screen-shot-and-record search"
|
||||
"$mainMod SHIFT, X, exec, ${ipc} plugin:screen-shot-and-record ocr"
|
||||
"$mainMod SHIFT, C, exec, ${ipc} plugin:music panel"
|
||||
|
||||
# launchers
|
||||
"$mainMod, Return, exec, ghostty"
|
||||
"$mainMod, W, exec, zen-beta"
|
||||
"$mainMod, E, exec, dolphin"
|
||||
"$mainMod, Z, exec, code"
|
||||
"$mainMod ALT, V, exec, pavucontrol"
|
||||
"$mainMod SHIFT, V, exec, ${ipc} launcher clipboard"
|
||||
"$mainMod SHIFT, L, exec, ${ipc} lockScreen lock"
|
||||
"CTRL SHIFT, Escape, exec, ghostty -e sudo btop"
|
||||
|
||||
# window management
|
||||
"$mainMod, Q, killactive"
|
||||
"$mainMod ALT, SPACE, togglefloating"
|
||||
"$mainMod, F, fullscreen, 0"
|
||||
"$mainMod, D, fullscreen, 1"
|
||||
"$mainMod ALT, P, pin"
|
||||
|
||||
# focus windows
|
||||
"$mainMod, left, movefocus, l"
|
||||
"$mainMod, right, movefocus, r"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
|
||||
"$mainMod SHIFT, left, movewindow, l"
|
||||
"$mainMod SHIFT, right, movewindow, r"
|
||||
"$mainMod SHIFT, up, movewindow, u"
|
||||
"$mainMod SHIFT, down, movewindow, d"
|
||||
|
||||
# workspace navigation
|
||||
"$mainMod, 1, workspace, 1"
|
||||
"$mainMod, 2, workspace, 2"
|
||||
"$mainMod, 3, workspace, 3"
|
||||
"$mainMod, 4, workspace, 4"
|
||||
"$mainMod, 5, workspace, 5"
|
||||
"$mainMod, 6, workspace, 6"
|
||||
"$mainMod, 7, workspace, 7"
|
||||
"$mainMod, 8, workspace, 8"
|
||||
"$mainMod, 9, workspace, 9"
|
||||
"$mainMod, 0, workspace, 10"
|
||||
|
||||
# move windows to workspace
|
||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# special workspaces
|
||||
"$mainMod, S, togglespecialworkspace"
|
||||
"$mainMod ALT, S, movetoworkspacesilent, special"
|
||||
|
||||
# mouse workspace navigation
|
||||
"$mainMod, mouse_up, workspace, +1"
|
||||
"$mainMod, mouse_down, workspace, -1"
|
||||
|
||||
# media keys
|
||||
"$mainMod SHIFT, N, exec, playerctl next"
|
||||
"$mainMod SHIFT, B, exec, playerctl previous"
|
||||
"$mainMod SHIFT, P, exec, playerctl play-pause"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
", XF86AudioRaiseVolume, exec, ${ipc} volume increase"
|
||||
", XF86AudioLowerVolume, exec, ${ipc} volume decrease"
|
||||
", XF86MonBrightnessUp, exec, ${ipc} brightness increase"
|
||||
", XF86MonBrightnessDown, exec, ${ipc} brightness decrease"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
", XF86AudioMute, exec, ${ipc} volume muteOutput"
|
||||
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
|
||||
", XF86AudioNext, exec, playerctl next"
|
||||
", XF86AudioPrev, exec, playerctl previous"
|
||||
", XF86AudioPlay, exec, playerctl play-pause"
|
||||
", XF86AudioPause, exec, playerctl play-pause"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
windowrule = [
|
||||
"float on, match:title ^(Open File)(.*)$"
|
||||
"center on, match:title ^(Open File)(.*)$"
|
||||
"float on, match:title ^(Save As)(.*)$"
|
||||
"center on, match:title ^(Save As)(.*)$"
|
||||
"float on, match:title ^(File Upload)(.*)$"
|
||||
"center on, match:title ^(File Upload)(.*)$"
|
||||
"float on, match:class ^(pavucontrol)$"
|
||||
"center on, match:class ^(pavucontrol)$"
|
||||
"size 45% 45%, match:class ^(pavucontrol)$"
|
||||
"float on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$"
|
||||
"pin on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$"
|
||||
"keep_aspect_ratio on, match:title ^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$"
|
||||
"immediate on, match:class ^(steam_app).*"
|
||||
"float on, match:class ^(steam)$"
|
||||
"float off, match:class ^(steam)$, match:title ^(Steam)$"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [ ./hypr/default.nix ];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
configType = "hyprlang";
|
||||
xwayland.enable = true;
|
||||
systemd.enable = false;
|
||||
systemd.variables = [ "-all" ];
|
||||
plugins = [
|
||||
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.csgo-vulkan-fix
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./niri.nix
|
||||
./programs/discord
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "zen-beta.desktop";
|
||||
};
|
||||
|
||||
# TODO nu
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
initContent = ''
|
||||
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
|
||||
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
||||
|
||||
alias ls='eza --icons --group-directories-first'
|
||||
alias ll='eza -lah --icons --group-directories-first'
|
||||
alias la='eza -a --icons --group-directories-first'
|
||||
alias lt='eza --tree --level=2 --icons'
|
||||
|
||||
alias cd='z'
|
||||
alias cat='bat'
|
||||
alias grep='grep --color=auto'
|
||||
alias df='df -h'
|
||||
alias du='du -h'
|
||||
alias free='free -h'
|
||||
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
alias rm='trash-put'
|
||||
|
||||
alias sysinfo='fastfetch'
|
||||
alias monitor='sudo btop'
|
||||
alias ports='sudo ss -tulpn'
|
||||
alias myip='curl ifconfig.me'
|
||||
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
alias ~='cd ~'
|
||||
alias -- -='cd -'
|
||||
|
||||
alias gs='git status'
|
||||
alias ga='git add'
|
||||
alias gc='git commit -m'
|
||||
alias gp='git push'
|
||||
alias gl='git log --oneline --graph --decorate'
|
||||
|
||||
alias rebuild='git -C ~/copland add -A && git -C ~/copland commit -m "update" && nh os switch'
|
||||
alias rebuild-dry='nh os switch --dry'
|
||||
alias rebuild-cop='nix flake update --flake ~/copland && git -C ~/copland add -A && git -C ~/copland commit -m "flake update $(date +%Y-%m-%d)" && nh os switch'
|
||||
|
||||
extract() {
|
||||
if [ -f "$1" ]; then
|
||||
case "$1" in
|
||||
*.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;;
|
||||
*.bz2) bunzip2 "$1" ;; *.rar) unrar e "$1" ;;
|
||||
*.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;;
|
||||
*.zip) unzip "$1" ;; *.7z) 7z x "$1" ;;
|
||||
*) echo "'$1' can't be extracted" ;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTFILE=~/.zsh_history
|
||||
setopt HIST_IGNORE_DUPS HIST_IGNORE_SPACE SHARE_HISTORY AUTO_CD
|
||||
zstyle ':completion:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||
|
||||
export MESA_SHADER_CACHE_MAX_SIZE=2G
|
||||
export MESA_SHADER_CACHE_DIR=/tmp/mesa_shader_cache
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
/home/elars/.config/copetch/animated-copetch.sh
|
||||
'';
|
||||
};
|
||||
|
||||
programs.starship.enable = true;
|
||||
programs.fzf.enable = true;
|
||||
programs.zoxide.enable = true;
|
||||
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
name = "macOS";
|
||||
package = pkgs.apple-cursor;
|
||||
size = 24;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme.name = "WhiteSur-Dark";
|
||||
theme.package = pkgs.whitesur-gtk-theme;
|
||||
gtk4.theme.name = "WhiteSur-Dark";
|
||||
gtk4.theme.package = pkgs.whitesur-gtk-theme;
|
||||
iconTheme.name = "WhiteSur-dark";
|
||||
iconTheme.package = pkgs.whitesur-icon-theme;
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings."org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
gtk-theme = "WhiteSur-Dark";
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "kde";
|
||||
style.name = "kvantum";
|
||||
};
|
||||
|
||||
xdg.configFile."Kvantum/WhiteSur-Dark/WhiteSur-Dark.kvconfig".source =
|
||||
"${pkgs.whitesur-kde}/share/Kvantum/WhiteSur/WhiteSurDark.kvconfig";
|
||||
xdg.configFile."Kvantum/WhiteSur-Dark/WhiteSur-Dark.svg".source =
|
||||
"${pkgs.whitesur-kde}/share/Kvantum/WhiteSur/WhiteSurDark.svg";
|
||||
|
||||
xdg.configFile."Kvantum/kvantum.kvconfig".text = ''
|
||||
[General]
|
||||
theme=WhiteSur-Dark
|
||||
'';
|
||||
|
||||
xdg.configFile."kdeglobals".text = ''
|
||||
[General]
|
||||
font=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
fixed=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
menuFont=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
toolBarFont=JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0
|
||||
smallestReadableFont=JetBrainsMono Nerd Font,9,-1,5,50,0,0,0,0,0
|
||||
'';
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"inode/directory" = [ "org.kde.dolphin.desktop" ];
|
||||
"x-scheme-handler/http" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/https" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/about" = [ "zen-beta.desktop" ];
|
||||
"x-scheme-handler/unknown" = [ "zen-beta.desktop" ];
|
||||
};
|
||||
};
|
||||
services.easyeffects.enable = true;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./niri/default.nix ];
|
||||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./niri/env.nix
|
||||
./niri/execs.nix
|
||||
./niri/general.nix
|
||||
./niri/rules.nix
|
||||
./niri/keybinds.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.desktop-niri-env =
|
||||
{ ... }:
|
||||
{
|
||||
programs.niri.settings = {
|
||||
environment = {
|
||||
DISPLAY = ":0";
|
||||
XCURSOR_SIZE = "24";
|
||||
TERMINAL = "ghostty";
|
||||
XCURSOR_THEME = "macOS";
|
||||
GDK_BACKEND = "wayland,x11";
|
||||
QT_QPA_PLATFORMTHEME = "kde";
|
||||
QT_QPA_PLATFORM = "wayland;xcb";
|
||||
MESA_GL_VERSION_OVERRIDE = "4.6";
|
||||
MESA_GLSL_VERSION_OVERRIDE = "460";
|
||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.desktop-niri-execs =
|
||||
{ ... }:
|
||||
{
|
||||
programs.niri.settings = {
|
||||
"prefer-no-csd" = true;
|
||||
spawn-at-startup = [
|
||||
{ command = [ "noctalia" ]; }
|
||||
{ command = [ "xwayland-satellite" ]; }
|
||||
{
|
||||
command = [
|
||||
"sh"
|
||||
"-c"
|
||||
"wl-paste --type text --watch cliphist store"
|
||||
];
|
||||
}
|
||||
{
|
||||
command = [
|
||||
"sh"
|
||||
"-c"
|
||||
"wl-paste --type image --watch cliphist store"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.desktop-niri-general =
|
||||
{ ... }:
|
||||
{
|
||||
programs.niri.settings = {
|
||||
input = {
|
||||
keyboard = {
|
||||
xkb = {
|
||||
layout = "tr";
|
||||
};
|
||||
repeat-delay = 250;
|
||||
repeat-rate = 35;
|
||||
};
|
||||
mouse = {
|
||||
accel-speed = 0.0;
|
||||
accel-profile = "flat";
|
||||
};
|
||||
touchpad = {
|
||||
tap = true;
|
||||
natural-scroll = true;
|
||||
scroll-factor = 0.5;
|
||||
click-method = "clickfinger";
|
||||
};
|
||||
focus-follows-mouse = {
|
||||
max-scroll-amount = "0%";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
"LVDS-1" = {
|
||||
position = {
|
||||
x = 0;
|
||||
y = 0;
|
||||
};
|
||||
};
|
||||
"HDMI-A-1" = {
|
||||
position = {
|
||||
x = -277;
|
||||
y = -1080;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
slowdown = 0.8;
|
||||
};
|
||||
|
||||
layout = {
|
||||
gaps = 5;
|
||||
struts = {
|
||||
left = -5;
|
||||
right = -5;
|
||||
top = -5;
|
||||
bottom = -5;
|
||||
};
|
||||
center-focused-column = "never";
|
||||
preset-column-widths = [
|
||||
{ proportion = 0.33333; }
|
||||
{ proportion = 0.5; }
|
||||
{ proportion = 0.66667; }
|
||||
];
|
||||
default-column-width = {
|
||||
proportion = 1.0;
|
||||
};
|
||||
focus-ring = {
|
||||
enable = false;
|
||||
};
|
||||
border = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
layer-rules = [
|
||||
{
|
||||
matches = [
|
||||
{ namespace = "^noctalia-backdrop"; }
|
||||
];
|
||||
place-within-backdrop = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.desktop-niri-home =
|
||||
{ ... }:
|
||||
{
|
||||
programs.niri.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.desktop-niri-keybinds =
|
||||
{ ... }:
|
||||
{
|
||||
programs.niri.settings = {
|
||||
binds = {
|
||||
# --- Workspace Navigation ---
|
||||
"Ctrl+Mod+Right".action.focus-column-right = [ ];
|
||||
"Ctrl+Mod+Left".action.focus-column-left = [ ];
|
||||
"Ctrl+Mod+Down".action.focus-workspace-down = [ ];
|
||||
"Ctrl+Mod+Up".action.focus-workspace-up = [ ];
|
||||
"Ctrl+Mod+Shift+Right".action.move-column-right = [ ];
|
||||
"Ctrl+Mod+Shift+Left".action.move-column-left = [ ];
|
||||
"Ctrl+Mod+Shift+Down".action.move-window-to-workspace-down = [ ];
|
||||
"Ctrl+Mod+Shift+Up".action.move-window-to-workspace-up = [ ];
|
||||
|
||||
"Ctrl+Mod+WheelScrollUp" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-column-right = [ ];
|
||||
};
|
||||
"Ctrl+Mod+WheelScrollDown" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-column-left = [ ];
|
||||
};
|
||||
|
||||
# --- Interface ---
|
||||
"Mod+Space".action.spawn-sh = "noctalia msg panel-toggle launcher";
|
||||
"Mod+P".action.spawn-sh = "noctalia msg panel-toggle control-center";
|
||||
"Mod+Tab".action.toggle-overview = [ ];
|
||||
"Ctrl+Alt+Delete".action.spawn-sh = "noctalia msg panel-toggle session";
|
||||
|
||||
# --- Launchers ---
|
||||
"Mod+Return".action.spawn = [ "ghostty" ];
|
||||
"Mod+W".action.spawn = [ "zen-beta" ];
|
||||
"Mod+E".action.spawn = [ "dolphin" ];
|
||||
"Mod+Z".action.spawn = [ "code" ];
|
||||
"Mod+Alt+V".action.spawn = [ "pavucontrol" ];
|
||||
"Mod+Shift+V".action.spawn-sh = "noctalia msg panel-toggle clipboard";
|
||||
"Mod+Shift+L".action.spawn-sh = "noctalia msg lock";
|
||||
"Mod+Shift+S".action.spawn-sh = "noctalia msg screenshot-region";
|
||||
"Ctrl+Shift+Escape".action.spawn = [
|
||||
"ghostty"
|
||||
"-e"
|
||||
"sudo"
|
||||
"btop"
|
||||
];
|
||||
|
||||
# --- Window Management ---
|
||||
"Mod+Q".action.close-window = [ ];
|
||||
"Mod+Alt+Space".action.toggle-window-floating = [ ];
|
||||
"Mod+F".action.fullscreen-window = [ ];
|
||||
"Mod+D".action.maximize-column = [ ];
|
||||
|
||||
# --- Focus ---
|
||||
"Mod+Left".action.focus-column-left = [ ];
|
||||
"Mod+Right".action.focus-column-right = [ ];
|
||||
"Mod+Up".action.focus-window-up = [ ];
|
||||
"Mod+Down".action.focus-window-down = [ ];
|
||||
|
||||
# --- Move Windows ---
|
||||
"Mod+Shift+Left".action.move-column-left = [ ];
|
||||
"Mod+Shift+Right".action.move-column-right = [ ];
|
||||
"Mod+Shift+Up".action.move-window-up = [ ];
|
||||
"Mod+Shift+Down".action.move-window-down = [ ];
|
||||
|
||||
# --- Workspaces by Number ---
|
||||
"Mod+1".action.focus-workspace = 1;
|
||||
"Mod+2".action.focus-workspace = 2;
|
||||
"Mod+3".action.focus-workspace = 3;
|
||||
"Mod+4".action.focus-workspace = 4;
|
||||
"Mod+5".action.focus-workspace = 5;
|
||||
"Mod+6".action.focus-workspace = 6;
|
||||
"Mod+7".action.focus-workspace = 7;
|
||||
"Mod+8".action.focus-workspace = 8;
|
||||
"Mod+9".action.focus-workspace = 9;
|
||||
"Mod+0".action.focus-workspace = 10;
|
||||
|
||||
"Mod+Shift+1".action.move-window-to-workspace = 1;
|
||||
"Mod+Shift+2".action.move-window-to-workspace = 2;
|
||||
"Mod+Shift+3".action.move-window-to-workspace = 3;
|
||||
"Mod+Shift+4".action.move-window-to-workspace = 4;
|
||||
"Mod+Shift+5".action.move-window-to-workspace = 5;
|
||||
"Mod+Shift+6".action.move-window-to-workspace = 6;
|
||||
"Mod+Shift+7".action.move-window-to-workspace = 7;
|
||||
"Mod+Shift+8".action.move-window-to-workspace = 8;
|
||||
"Mod+Shift+9".action.move-window-to-workspace = 9;
|
||||
"Mod+Shift+0".action.move-window-to-workspace = 10;
|
||||
|
||||
# --- Mouse Workspace Scroll ---
|
||||
"Mod+WheelScrollDown" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-workspace-down = [ ];
|
||||
};
|
||||
"Mod+WheelScrollUp" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-workspace-up = [ ];
|
||||
};
|
||||
|
||||
# --- Media & Hardware Keys ---
|
||||
"Mod+Shift+N".action.spawn = [
|
||||
"playerctl"
|
||||
"next"
|
||||
];
|
||||
"Mod+Shift+B".action.spawn = [
|
||||
"playerctl"
|
||||
"previous"
|
||||
];
|
||||
"Mod+Shift+P".action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
|
||||
"XF86AudioRaiseVolume" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn-sh = "noctalia msg volume-up";
|
||||
};
|
||||
"XF86AudioLowerVolume" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn-sh = "noctalia msg volume-down";
|
||||
};
|
||||
"XF86AudioMute" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn-sh = "noctalia msg volume-mute";
|
||||
};
|
||||
"XF86AudioMicMute" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-mute"
|
||||
"@DEFAULT_SOURCE@"
|
||||
"toggle"
|
||||
];
|
||||
};
|
||||
"XF86MonBrightnessUp".action.spawn-sh = "noctalia msg brightness-up";
|
||||
"XF86MonBrightnessDown".action.spawn-sh = "noctalia msg brightness-down";
|
||||
"XF86AudioNext" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"next"
|
||||
];
|
||||
};
|
||||
"XF86AudioPrev" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"previous"
|
||||
];
|
||||
};
|
||||
"XF86AudioPlay" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
};
|
||||
"XF86AudioPause" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{ ... }:
|
||||
{
|
||||
flake.homeModules.desktop-niri-rules =
|
||||
{ ... }:
|
||||
{
|
||||
programs.niri.settings = {
|
||||
window-rules = [
|
||||
{
|
||||
matches = [ { title = "Open File.*"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { title = "Save As.*"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { title = "File Upload.*"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { "app-id" = "pavucontrol"; } ];
|
||||
open-floating = true;
|
||||
default-column-width = {
|
||||
fixed = 800;
|
||||
};
|
||||
}
|
||||
{
|
||||
matches = [ { title = "(?i)picture.in.picture"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { "app-id" = "steam"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
"app-id" = "steam";
|
||||
title = "Steam";
|
||||
}
|
||||
];
|
||||
open-floating = false;
|
||||
}
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
"app-id" = "steam";
|
||||
title = "^notificationtoasts_.*";
|
||||
}
|
||||
];
|
||||
open-floating = true;
|
||||
open-focused = false;
|
||||
default-floating-position = {
|
||||
x = 20;
|
||||
y = 20;
|
||||
"relative-to" = "bottom-right";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.niri.settings = {
|
||||
environment = {
|
||||
DISPLAY = ":0";
|
||||
XCURSOR_SIZE = "24";
|
||||
TERMINAL = "ghostty";
|
||||
XCURSOR_THEME = "macOS";
|
||||
GDK_BACKEND = "wayland,x11";
|
||||
QT_QPA_PLATFORMTHEME = "kde";
|
||||
QT_QPA_PLATFORM = "wayland;xcb";
|
||||
MESA_GL_VERSION_OVERRIDE = "4.6";
|
||||
MESA_GLSL_VERSION_OVERRIDE = "460";
|
||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.niri.settings = {
|
||||
"prefer-no-csd" = true;
|
||||
spawn-at-startup = [
|
||||
{ command = [ "noctalia" ]; }
|
||||
{ command = [ "xwayland-satellite" ]; }
|
||||
{ command = [ "sh" "-c" "wl-paste --type text --watch cliphist store" ]; }
|
||||
{ command = [ "sh" "-c" "wl-paste --type image --watch cliphist store" ]; }
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.niri.settings = {
|
||||
input = {
|
||||
keyboard = {
|
||||
xkb = {
|
||||
layout = "tr";
|
||||
};
|
||||
repeat-delay = 250;
|
||||
repeat-rate = 35;
|
||||
};
|
||||
mouse = {
|
||||
accel-speed = 0.0;
|
||||
accel-profile = "flat";
|
||||
};
|
||||
touchpad = {
|
||||
tap = true;
|
||||
natural-scroll = true;
|
||||
scroll-factor = 0.5;
|
||||
click-method = "clickfinger";
|
||||
};
|
||||
focus-follows-mouse = {
|
||||
max-scroll-amount = "0%";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
"LVDS-1" = {
|
||||
position = {
|
||||
x = 0;
|
||||
y = 0;
|
||||
};
|
||||
};
|
||||
"HDMI-A-1" = {
|
||||
position = {
|
||||
x = -277;
|
||||
y = -1080;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
slowdown = 0.8;
|
||||
};
|
||||
|
||||
layout = {
|
||||
gaps = 5;
|
||||
struts = {
|
||||
left = -5;
|
||||
right = -5;
|
||||
top = -5;
|
||||
bottom = -5;
|
||||
};
|
||||
center-focused-column = "never";
|
||||
preset-column-widths = [
|
||||
{ proportion = 0.33333; }
|
||||
{ proportion = 0.5; }
|
||||
{ proportion = 0.66667; }
|
||||
];
|
||||
default-column-width = {
|
||||
proportion = 1.0;
|
||||
};
|
||||
focus-ring = {
|
||||
enable = false;
|
||||
};
|
||||
border = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
|
||||
layer-rules = [
|
||||
{
|
||||
matches = [
|
||||
{ namespace = "^noctalia-backdrop"; }
|
||||
];
|
||||
place-within-backdrop = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,165 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.niri.settings = {
|
||||
binds = {
|
||||
# --- Workspace Navigation ---
|
||||
"Ctrl+Mod+Right".action.focus-column-right = [ ];
|
||||
"Ctrl+Mod+Left".action.focus-column-left = [ ];
|
||||
"Ctrl+Mod+Down".action.focus-workspace-down = [ ];
|
||||
"Ctrl+Mod+Up".action.focus-workspace-up = [ ];
|
||||
"Ctrl+Mod+Shift+Right".action.move-column-right = [ ];
|
||||
"Ctrl+Mod+Shift+Left".action.move-column-left = [ ];
|
||||
"Ctrl+Mod+Shift+Down".action.move-window-to-workspace-down = [ ];
|
||||
"Ctrl+Mod+Shift+Up".action.move-window-to-workspace-up = [ ];
|
||||
|
||||
"Ctrl+Mod+WheelScrollUp" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-column-right = [ ];
|
||||
};
|
||||
"Ctrl+Mod+WheelScrollDown" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-column-left = [ ];
|
||||
};
|
||||
|
||||
# --- Interface ---
|
||||
"Mod+Space".action.spawn-sh = "noctalia msg panel-toggle launcher";
|
||||
"Mod+P".action.spawn-sh = "noctalia msg panel-toggle control-center";
|
||||
"Mod+Tab".action.toggle-overview = [ ];
|
||||
"Ctrl+Alt+Delete".action.spawn-sh = "noctalia msg panel-toggle session";
|
||||
|
||||
# --- Launchers ---
|
||||
"Mod+Return".action.spawn = [ "ghostty" ];
|
||||
"Mod+W".action.spawn = [ "zen-beta" ];
|
||||
"Mod+E".action.spawn = [ "dolphin" ];
|
||||
"Mod+Z".action.spawn = [ "code" ];
|
||||
"Mod+Alt+V".action.spawn = [ "pavucontrol" ];
|
||||
"Mod+Shift+V".action.spawn-sh = "noctalia msg panel-toggle clipboard";
|
||||
"Mod+Shift+L".action.spawn-sh = "noctalia msg lock";
|
||||
"Mod+Shift+S".action.spawn-sh = "noctalia msg screenshot-region";
|
||||
"Ctrl+Shift+Escape".action.spawn = [
|
||||
"ghostty"
|
||||
"-e"
|
||||
"sudo"
|
||||
"btop"
|
||||
];
|
||||
|
||||
# --- Window Management ---
|
||||
"Mod+Q".action.close-window = [ ];
|
||||
"Mod+Alt+Space".action.toggle-window-floating = [ ];
|
||||
"Mod+F".action.fullscreen-window = [ ];
|
||||
"Mod+D".action.maximize-column = [ ];
|
||||
|
||||
# --- Focus ---
|
||||
"Mod+Left".action.focus-column-left = [ ];
|
||||
"Mod+Right".action.focus-column-right = [ ];
|
||||
"Mod+Up".action.focus-window-up = [ ];
|
||||
"Mod+Down".action.focus-window-down = [ ];
|
||||
|
||||
# --- Move Windows ---
|
||||
"Mod+Shift+Left".action.move-column-left = [ ];
|
||||
"Mod+Shift+Right".action.move-column-right = [ ];
|
||||
"Mod+Shift+Up".action.move-window-up = [ ];
|
||||
"Mod+Shift+Down".action.move-window-down = [ ];
|
||||
|
||||
# --- Workspaces by Number ---
|
||||
"Mod+1".action.focus-workspace = 1;
|
||||
"Mod+2".action.focus-workspace = 2;
|
||||
"Mod+3".action.focus-workspace = 3;
|
||||
"Mod+4".action.focus-workspace = 4;
|
||||
"Mod+5".action.focus-workspace = 5;
|
||||
"Mod+6".action.focus-workspace = 6;
|
||||
"Mod+7".action.focus-workspace = 7;
|
||||
"Mod+8".action.focus-workspace = 8;
|
||||
"Mod+9".action.focus-workspace = 9;
|
||||
"Mod+0".action.focus-workspace = 10;
|
||||
|
||||
"Mod+Shift+1".action.move-window-to-workspace = 1;
|
||||
"Mod+Shift+2".action.move-window-to-workspace = 2;
|
||||
"Mod+Shift+3".action.move-window-to-workspace = 3;
|
||||
"Mod+Shift+4".action.move-window-to-workspace = 4;
|
||||
"Mod+Shift+5".action.move-window-to-workspace = 5;
|
||||
"Mod+Shift+6".action.move-window-to-workspace = 6;
|
||||
"Mod+Shift+7".action.move-window-to-workspace = 7;
|
||||
"Mod+Shift+8".action.move-window-to-workspace = 8;
|
||||
"Mod+Shift+9".action.move-window-to-workspace = 9;
|
||||
"Mod+Shift+0".action.move-window-to-workspace = 10;
|
||||
|
||||
# --- Mouse Workspace Scroll ---
|
||||
"Mod+WheelScrollDown" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-workspace-down = [ ];
|
||||
};
|
||||
"Mod+WheelScrollUp" = {
|
||||
"cooldown-ms" = 150;
|
||||
action.focus-workspace-up = [ ];
|
||||
};
|
||||
|
||||
# --- Media & Hardware Keys ---
|
||||
"Mod+Shift+N".action.spawn = [
|
||||
"playerctl"
|
||||
"next"
|
||||
];
|
||||
"Mod+Shift+B".action.spawn = [
|
||||
"playerctl"
|
||||
"previous"
|
||||
];
|
||||
"Mod+Shift+P".action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
|
||||
"XF86AudioRaiseVolume" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn-sh = "noctalia msg volume-up";
|
||||
};
|
||||
"XF86AudioLowerVolume" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn-sh = "noctalia msg volume-down";
|
||||
};
|
||||
"XF86AudioMute" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn-sh = "noctalia msg volume-mute";
|
||||
};
|
||||
"XF86AudioMicMute" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"wpctl"
|
||||
"set-mute"
|
||||
"@DEFAULT_SOURCE@"
|
||||
"toggle"
|
||||
];
|
||||
};
|
||||
"XF86MonBrightnessUp".action.spawn-sh = "noctalia msg brightness-up";
|
||||
"XF86MonBrightnessDown".action.spawn-sh = "noctalia msg brightness-down";
|
||||
"XF86AudioNext" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"next"
|
||||
];
|
||||
};
|
||||
"XF86AudioPrev" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"previous"
|
||||
];
|
||||
};
|
||||
"XF86AudioPlay" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
};
|
||||
"XF86AudioPause" = {
|
||||
"allow-when-locked" = true;
|
||||
action.spawn = [
|
||||
"playerctl"
|
||||
"play-pause"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.niri.settings = {
|
||||
window-rules = [
|
||||
{
|
||||
matches = [ { title = "Open File.*"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { title = "Save As.*"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { title = "File Upload.*"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { "app-id" = "pavucontrol"; } ];
|
||||
open-floating = true;
|
||||
default-column-width = { fixed = 800; };
|
||||
}
|
||||
{
|
||||
matches = [ { title = "(?i)picture.in.picture"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { "app-id" = "steam"; } ];
|
||||
open-floating = true;
|
||||
}
|
||||
{
|
||||
matches = [ { "app-id" = "steam"; title = "Steam"; } ];
|
||||
open-floating = false;
|
||||
}
|
||||
{
|
||||
matches = [ { "app-id" = "steam"; title = "^notificationtoasts_.*"; } ];
|
||||
open-floating = true;
|
||||
open-focused = false;
|
||||
default-floating-position = {
|
||||
x = 20;
|
||||
y = 20;
|
||||
"relative-to" = "bottom-right";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./ghostty
|
||||
./shell
|
||||
];
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{ inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
inputs.nixcord.homeModules.nixcord
|
||||
];
|
||||
|
||||
programs.nixcord = {
|
||||
enable = true;
|
||||
legcord = {
|
||||
enable = true;
|
||||
settings = {
|
||||
channel = "stable";
|
||||
tray = "dynamic";
|
||||
minimizeToTray = true;
|
||||
mods = [ "shelter" ];
|
||||
doneSetup = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
isDarwin = pkgs.stdenv.isDarwin;
|
||||
|
||||
linuxKeybinds = [
|
||||
"alt+r=reload_config"
|
||||
"alt+q=close_surface"
|
||||
|
||||
"ctrl+space=new_tab"
|
||||
"ctrl+page_down=next_tab"
|
||||
"ctrl+page_up=previous_tab"
|
||||
"alt+comma=move_tab:-1"
|
||||
"alt+period=move_tab:1"
|
||||
|
||||
"alt+1=goto_tab:1"
|
||||
"alt+2=goto_tab:2"
|
||||
"alt+3=goto_tab:3"
|
||||
"alt+4=goto_tab:4"
|
||||
"alt+5=goto_tab:5"
|
||||
"alt+6=goto_tab:6"
|
||||
"alt+7=goto_tab:7"
|
||||
"alt+8=goto_tab:8"
|
||||
"alt+9=goto_tab:9"
|
||||
|
||||
"ctrl+shift+backslash=new_split:right"
|
||||
"ctrl+shift+minus=new_split:down"
|
||||
|
||||
"alt+h=goto_split:left"
|
||||
"alt+j=goto_split:bottom"
|
||||
"alt+k=goto_split:top"
|
||||
"alt+l=goto_split:right"
|
||||
|
||||
"ctrl+shift+z=toggle_split_zoom"
|
||||
"ctrl+shift+e=equalize_splits"
|
||||
];
|
||||
|
||||
darwinKeybinds = [
|
||||
"cmd+s>r=reload_config"
|
||||
"cmd+s>x=close_surface"
|
||||
"cmd+s>n=new_window"
|
||||
|
||||
"cmd+s>c=new_tab"
|
||||
"cmd+s>shift+l=next_tab"
|
||||
"cmd+s>shift+h=previous_tab"
|
||||
"cmd+s>comma=move_tab:-1"
|
||||
"cmd+s>period=move_tab:1"
|
||||
|
||||
"cmd+s>1=goto_tab:1"
|
||||
"cmd+s>2=goto_tab:2"
|
||||
"cmd+s>3=goto_tab:3"
|
||||
"cmd+s>4=goto_tab:4"
|
||||
"cmd+s>5=goto_tab:5"
|
||||
"cmd+s>6=goto_tab:6"
|
||||
"cmd+s>7=goto_tab:7"
|
||||
"cmd+s>8=goto_tab:8"
|
||||
"cmd+s>9=goto_tab:9"
|
||||
|
||||
"cmd+s>\\=new_split:right"
|
||||
"cmd+s>-=new_split:down"
|
||||
"cmd+s>h=goto_split:left"
|
||||
"cmd+s>j=goto_split:bottom"
|
||||
"cmd+s>k=goto_split:top"
|
||||
"cmd+s>l=goto_split:right"
|
||||
"cmd+s>z=toggle_split_zoom"
|
||||
"cmd+s>e=equalize_splits"
|
||||
];
|
||||
in
|
||||
{
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
installBatSyntax = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
settings = {
|
||||
font-family = "JetBrainsMono Nerd Font";
|
||||
font-size = 11;
|
||||
|
||||
window-padding-x = 10;
|
||||
window-padding-y = 10;
|
||||
window-padding-balance = true;
|
||||
window-save-state = "always";
|
||||
|
||||
mouse-hide-while-typing = true;
|
||||
mouse-scroll-multiplier = 2;
|
||||
shell-integration-features = "no-cursor,sudo,no-title";
|
||||
|
||||
palette = [
|
||||
"0=#090E13"
|
||||
"1=#c4746e"
|
||||
"2=#8a9a7b"
|
||||
"3=#c4b28a"
|
||||
"4=#8ba4b0"
|
||||
"5=#a292a3"
|
||||
"6=#8ea4a2"
|
||||
"7=#a4a7a4"
|
||||
"8=#5C6066"
|
||||
"9=#e46876"
|
||||
"10=#87a987"
|
||||
"11=#e6c384"
|
||||
"12=#7fb4ca"
|
||||
"13=#938aa9"
|
||||
"14=#7aa89f"
|
||||
"15=#c5c9c7"
|
||||
];
|
||||
|
||||
background = "#090E13";
|
||||
foreground = "#c5c9c7";
|
||||
cursor-color = "#c5c9c7";
|
||||
cursor-text = "#9cdef2";
|
||||
selection-background = "#22262D";
|
||||
selection-foreground = "#c5c9c7";
|
||||
cursor-style = "block";
|
||||
cursor-style-blink = true;
|
||||
adjust-cell-height = "35%";
|
||||
background-opacity = 0.96;
|
||||
|
||||
keybind = linuxKeybinds ++ lib.optionals isDarwin darwinKeybinds;
|
||||
}
|
||||
// lib.optionalAttrs isDarwin {
|
||||
macos-titlebar-style = "transparent";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./nu.nix
|
||||
];
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
|
||||
shellAliases = {
|
||||
ls = "eza --icons --group-directories-first";
|
||||
ll = "eza -lah --icons --group-directories-first";
|
||||
la = "eza -a --icons --group-directories-first";
|
||||
lt = "eza --tree --level=2 --icons";
|
||||
cat = "bat";
|
||||
df = "df -h";
|
||||
du = "du -h";
|
||||
free = "free -h";
|
||||
rm = "trash-put";
|
||||
sysinfo = "fastfetch";
|
||||
monitor = "sudo btop";
|
||||
ports = "sudo ss -tulpn";
|
||||
myip = "curl ifconfig.me";
|
||||
gs = "git status";
|
||||
ga = "git add";
|
||||
gp = "git push";
|
||||
gl = "git log --oneline --graph --decorate";
|
||||
".." = "cd ..";
|
||||
"..." = "cd ../..";
|
||||
"...." = "cd ../../..";
|
||||
};
|
||||
|
||||
environmentVariables = {
|
||||
MESA_SHADER_CACHE_MAX_SIZE = "2G";
|
||||
MESA_SHADER_CACHE_DIR = "/tmp/mesa_shader_cache";
|
||||
};
|
||||
|
||||
extraEnv = ''
|
||||
$env.PATH = ($env.PATH | prepend $"($env.HOME)/.local/bin")
|
||||
'';
|
||||
|
||||
extraConfig = ''
|
||||
$env.config.show_banner = false
|
||||
def gc [msg: string] { git commit -m $msg }
|
||||
def rebuild [] {
|
||||
git -C ~/copland add -A
|
||||
git -C ~/copland commit -m "update"
|
||||
nh os switch
|
||||
}
|
||||
|
||||
def rebuild-dry [] { nh os switch --dry }
|
||||
def rebuild-cop [] {
|
||||
nix flake update --flake ~/copland
|
||||
git -C ~/copland add -A
|
||||
git -C ~/copland commit -m $"flake update (date now | format date '%Y-%m-%d')"
|
||||
nh os switch
|
||||
}
|
||||
def extract [file: string] {
|
||||
let ext = ($file | path parse | get extension)
|
||||
match $ext {
|
||||
"gz" => { tar xzf $file },
|
||||
"bz2" => { tar xjf $file },
|
||||
"tar" => { tar xf $file },
|
||||
"zip" => { unzip $file },
|
||||
"7z" => { 7z x $file },
|
||||
"rar" => { unrar e $file },
|
||||
_ => { print $"'($file)' can't be extracted" }
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user