gg
This commit is contained in:
@@ -9,7 +9,9 @@
|
||||
}:
|
||||
let
|
||||
caelestia-cli = inputs.caelestia-cli.packages.${pkgs.system}.caelestia-cli;
|
||||
|
||||
hypr-package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
hypr-portal = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||
hypr-split = inputs.hyprland-hyprsplit.packages.${pkgs.system}.split-monitor-workspaces;
|
||||
mod = "Alt";
|
||||
terminal = "footclient";
|
||||
fileManager = "dolphin";
|
||||
@@ -21,9 +23,11 @@ in
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = window_manager == "hyprland" || window_manager == "all";
|
||||
package = hypr-package;
|
||||
portalPackage = hypr-portal;
|
||||
plugins = [
|
||||
pkgs.hyprlandPlugins.hyprsplit
|
||||
pkgs.hyprlandPlugins.hyprscrolling
|
||||
#pkgs.hyprlandPlugins.hyprsplit
|
||||
hypr-split
|
||||
];
|
||||
|
||||
settings = {
|
||||
@@ -105,16 +109,9 @@ in
|
||||
##########################################################################
|
||||
|
||||
plugin = {
|
||||
hyprsplit = {
|
||||
num_workspaces = 10;
|
||||
persistent_workspaces = true;
|
||||
};
|
||||
|
||||
hyprscrolling = {
|
||||
fullscreen_on_one_column = false;
|
||||
column_width = 0.7;
|
||||
explicit_column_widths = [ 0.333 0.5 0.667 1.0 ];
|
||||
focus_fit_method = 0;
|
||||
split-monitor-workspaces = {
|
||||
count = 10;
|
||||
penable_persistent_workspaces = 1;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -308,28 +305,28 @@ in
|
||||
"${mod} SHIFT, J, movewindow, d"
|
||||
|
||||
# Workspaces (switch)
|
||||
"${mod}, 1, split:workspace, 1 "
|
||||
"${mod}, 2, split:workspace, 2 "
|
||||
"${mod}, 3, split:workspace, 3 "
|
||||
"${mod}, 4, split:workspace, 4 "
|
||||
"${mod}, 5, split:workspace, 5 "
|
||||
"${mod}, 6, split:workspace, 6 "
|
||||
"${mod}, 7, split:workspace, 7 "
|
||||
"${mod}, 8, split:workspace, 8 "
|
||||
"${mod}, 9, split:workspace, 9 "
|
||||
"${mod}, 0, split:workspace, 10"
|
||||
"${mod}, 1, split-workspace, 1 "
|
||||
"${mod}, 2, split-workspace, 2 "
|
||||
"${mod}, 3, split-workspace, 3 "
|
||||
"${mod}, 4, split-workspace, 4 "
|
||||
"${mod}, 5, split-workspace, 5 "
|
||||
"${mod}, 6, split-workspace, 6 "
|
||||
"${mod}, 7, split-workspace, 7 "
|
||||
"${mod}, 8, split-workspace, 8 "
|
||||
"${mod}, 9, split-workspace, 9 "
|
||||
"${mod}, 0, split-workspace, 10"
|
||||
|
||||
# Workspaces (move active window)
|
||||
"${mod} SHIFT, 1, split:movetoworkspacesilent, 1 "
|
||||
"${mod} SHIFT, 2, split:movetoworkspacesilent, 2 "
|
||||
"${mod} SHIFT, 3, split:movetoworkspacesilent, 3 "
|
||||
"${mod} SHIFT, 4, split:movetoworkspacesilent, 4 "
|
||||
"${mod} SHIFT, 5, split:movetoworkspacesilent, 5 "
|
||||
"${mod} SHIFT, 6, split:movetoworkspacesilent, 6 "
|
||||
"${mod} SHIFT, 7, split:movetoworkspacesilent, 7 "
|
||||
"${mod} SHIFT, 8, split:movetoworkspacesilent, 8 "
|
||||
"${mod} SHIFT, 9, split:movetoworkspacesilent, 9 "
|
||||
"${mod} SHIFT, 0, split:movetoworkspacesilent, 10"
|
||||
"${mod} SHIFT, 1, split-movetoworkspacesilent, 1 "
|
||||
"${mod} SHIFT, 2, split-movetoworkspacesilent, 2 "
|
||||
"${mod} SHIFT, 3, split-movetoworkspacesilent, 3 "
|
||||
"${mod} SHIFT, 4, split-movetoworkspacesilent, 4 "
|
||||
"${mod} SHIFT, 5, split-movetoworkspacesilent, 5 "
|
||||
"${mod} SHIFT, 6, split-movetoworkspacesilent, 6 "
|
||||
"${mod} SHIFT, 7, split-movetoworkspacesilent, 7 "
|
||||
"${mod} SHIFT, 8, split-movetoworkspacesilent, 8 "
|
||||
"${mod} SHIFT, 9, split-movetoworkspacesilent, 9 "
|
||||
"${mod} SHIFT, 0, split-movetoworkspacesilent, 10"
|
||||
|
||||
# Special workspace (scratchpad)
|
||||
"${mod}, SLASH, togglespecialworkspace, magic"
|
||||
|
||||
94
dots/xdg.nix
94
dots/xdg.nix
@@ -3,81 +3,97 @@
|
||||
lib,
|
||||
pkgs,
|
||||
window_manager,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
xdg = {
|
||||
enable = true;
|
||||
|
||||
portal = {
|
||||
enable = true;
|
||||
|
||||
config.common.default = [
|
||||
"hyprland;kde"
|
||||
"river"
|
||||
"kde"
|
||||
"gtk"
|
||||
];
|
||||
|
||||
xdgOpenUsePortal = true;
|
||||
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland
|
||||
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
|
||||
kdePackages.xdg-desktop-portal-kde
|
||||
];
|
||||
};
|
||||
|
||||
mime.enable = true;
|
||||
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
|
||||
defaultApplications =
|
||||
let
|
||||
browser = [ "zen-beta.desktop" ];
|
||||
browser = [ "zen-beta.desktop" ];
|
||||
fileManager = [ "pcmanfm.desktop" ];
|
||||
editor = [ "emacs.desktop" ];
|
||||
player = [ "mpv.desktop" ];
|
||||
viewer = [ "imv-dir.desktop" ];
|
||||
reader = [ "org.pwmt.zathura.desktop" ];
|
||||
in
|
||||
{
|
||||
"application/pdf" = reader;
|
||||
editor = [ "emacs.desktop" ];
|
||||
player = [ "mpv.desktop" ];
|
||||
viewer = [ "imv-dir.desktop" ];
|
||||
reader = [ "org.pwmt.zathura.desktop" ];
|
||||
in {
|
||||
# Documents
|
||||
"application/pdf" = reader;
|
||||
"application/epub" = reader;
|
||||
|
||||
"text/html" = browser;
|
||||
"text/xml" = browser;
|
||||
"text/plain" = editor;
|
||||
# Text / markup
|
||||
"text/plain" = editor;
|
||||
"application/x-wine-extension-ini" = editor;
|
||||
"text/html" = browser;
|
||||
"text/xml" = browser;
|
||||
|
||||
"application/json" = browser;
|
||||
"application/xml" = browser;
|
||||
"application/xhtml+xml" = browser;
|
||||
"application/xhtml_xml" = browser;
|
||||
"application/rdf+xml" = browser;
|
||||
"application/rss+xml" = browser;
|
||||
"application/x-extension-htm" = browser;
|
||||
"application/x-extension-html" = browser;
|
||||
# Web / XML-ish
|
||||
"application/json" = browser;
|
||||
"application/xml" = browser;
|
||||
"application/xhtml+xml" = browser;
|
||||
"application/xhtml_xml" = browser;
|
||||
"application/rdf+xml" = browser;
|
||||
"application/rss+xml" = browser;
|
||||
"application/x-extension-htm" = browser;
|
||||
"application/x-extension-html" = browser;
|
||||
"application/x-extension-shtml" = browser;
|
||||
"application/x-extension-xht" = browser;
|
||||
"application/x-extension-xht" = browser;
|
||||
"application/x-extension-xhtml" = browser;
|
||||
|
||||
# URL schemes
|
||||
"x-scheme-handler/about" = browser;
|
||||
"x-scheme-handler/ftp" = browser;
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/ftp" = browser;
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/https" = browser;
|
||||
|
||||
# Files / directories
|
||||
"inode/directory" = fileManager;
|
||||
"application/zip" = fileManager;
|
||||
|
||||
# Audio
|
||||
"audio/mpeg" = player;
|
||||
"audio/aac" = player;
|
||||
"audio/aac" = player;
|
||||
"audio/flac" = player;
|
||||
"audio/wav" = player;
|
||||
"video/mp4" = player;
|
||||
"video/vnd.mpegurl" = player;
|
||||
"video/x-matroska" = player;
|
||||
"audio/wav" = player;
|
||||
|
||||
# Video
|
||||
"video/mp4" = player;
|
||||
"video/vnd.mpegurl" = player;
|
||||
"video/x-matroska" = player;
|
||||
"application/x-mpegURL" = player;
|
||||
|
||||
"image/gif" = viewer;
|
||||
# Images
|
||||
"image/gif" = viewer;
|
||||
"image/jpeg" = viewer;
|
||||
"image/png" = viewer;
|
||||
"image/png" = viewer;
|
||||
"image/webp" = viewer;
|
||||
};
|
||||
};
|
||||
@@ -85,13 +101,14 @@
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
download = "${config.home.homeDirectory}/Downloads";
|
||||
documents = "${config.home.homeDirectory}/Documents";
|
||||
desktop = "${config.home.homeDirectory}/Desktop";
|
||||
videos = "${config.home.homeDirectory}/Videos";
|
||||
pictures = "${config.home.homeDirectory}/Pictures";
|
||||
music = "${config.home.homeDirectory}/Music";
|
||||
templates = "${config.home.homeDirectory}/.local/share/templates";
|
||||
|
||||
download = "${config.home.homeDirectory}/Downloads";
|
||||
documents = "${config.home.homeDirectory}/Documents";
|
||||
desktop = "${config.home.homeDirectory}/Desktop";
|
||||
videos = "${config.home.homeDirectory}/Videos";
|
||||
pictures = "${config.home.homeDirectory}/Pictures";
|
||||
music = "${config.home.homeDirectory}/Music";
|
||||
templates = "${config.home.homeDirectory}/.local/share/templates";
|
||||
publicShare = "${config.home.homeDirectory}/.local/share/public";
|
||||
};
|
||||
|
||||
@@ -100,7 +117,8 @@
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform-hint=wayland
|
||||
'';
|
||||
#configFile."hypr/hyprland.conf".onChange = "hyprctl reload";
|
||||
|
||||
# Example:
|
||||
# configFile."hypr/hyprland.conf".onChange = "hyprctl reload";
|
||||
};
|
||||
}
|
||||
|
||||
98
dots/zsh.nix
98
dots/zsh.nix
@@ -6,69 +6,77 @@
|
||||
}:
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
dotDir = ".config/zsh";
|
||||
enable = true;
|
||||
dotDir = ".config/zsh";
|
||||
|
||||
plugins = [
|
||||
#pkgs.zsh-autosuggestions
|
||||
#pkgs.spaceship-prompt
|
||||
# pkgs.zsh-autosuggestions
|
||||
# pkgs.spaceship-prompt
|
||||
];
|
||||
|
||||
autosuggestion = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
highlight = "fg=#64677a,bold,underline";
|
||||
};
|
||||
|
||||
history = {
|
||||
path = "$XDG_DATA_HOME/zsh/history";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
|
||||
HISTSIZE = 3000;
|
||||
SAVEHIST = 3000;
|
||||
CARGO_HOME = "$XDG_DATA_HOME/cargo";
|
||||
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
|
||||
GOPATH = "$XDG_DATA_HOME/go";
|
||||
GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle";
|
||||
IPYTHONDIR = "$XDG_CONFIG_HOMEipython";
|
||||
JUPYTER_CONFIG_DIR = "$XDG_CONFIG_HOME/jupyter";
|
||||
LESSHISTFILE = "$XDG_CACHE_HOME/less/history";
|
||||
NUGET_PACKAGES = "$XDG_CACHE_HOME/NuGetPackages";
|
||||
PYTHONSTARTUP = "$XDG_CONFIG_HOME/python/pythonrc";
|
||||
KERAS_HOME = "$XDG_STATE_HOME/keras";
|
||||
RUSTUP_HOME = "$XDG_DATA_HOME/rustup";
|
||||
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
|
||||
SSB_HOME = "$XDG_DATA_HOME/zoom";
|
||||
HISTFILE = "$XDG_STATE_HOME/zsh/history";
|
||||
LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
|
||||
HISTSIZE = 3000;
|
||||
SAVEHIST = 3000;
|
||||
CARGO_HOME = "$XDG_DATA_HOME/cargo";
|
||||
GNUPGHOME = "$XDG_DATA_HOME/gnupg";
|
||||
GOPATH = "$XDG_DATA_HOME/go";
|
||||
GRADLE_USER_HOME = "$XDG_DATA_HOME/gradle";
|
||||
IPYTHONDIR = "$XDG_CONFIG_HOMEipython";
|
||||
JUPYTER_CONFIG_DIR = "$XDG_CONFIG_HOME/jupyter";
|
||||
LESSHISTFILE = "$XDG_CACHE_HOME/less/history";
|
||||
NUGET_PACKAGES = "$XDG_CACHE_HOME/NuGetPackages";
|
||||
PYTHONSTARTUP = "$XDG_CONFIG_HOME/python/pythonrc";
|
||||
KERAS_HOME = "$XDG_STATE_HOME/keras";
|
||||
RUSTUP_HOME = "$XDG_DATA_HOME/rustup";
|
||||
XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
|
||||
SSB_HOME = "$XDG_DATA_HOME/zoom";
|
||||
HISTFILE = "$XDG_STATE_HOME/zsh/history";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
nix-switch = "sudo nixos-rebuild switch";
|
||||
nix-switch = "sudo nixos-rebuild switch";
|
||||
nix-upgrade = "sudo nixos-rebuild switch --upgrade";
|
||||
nix-edit = "sudo vim /etc/nixos/configuration.nix";
|
||||
ls = "exa -lag --icons";
|
||||
upload = "~/.config/script/upload.sh";
|
||||
record = "~/.config/script/record.sh";
|
||||
speak = "~/.config/script/wisper.sh";
|
||||
vim = "nvim";
|
||||
cat = "bat";
|
||||
anime = "~/repos/ani-cli/ani-cli";
|
||||
hentai = "~/repos/and-scripts/fap-cli";
|
||||
manga = "manga-cli";
|
||||
yt = "~/repos/ytfzf/ytfzf --thumb-viewer='kitty' -t";
|
||||
cd = "z";
|
||||
rm = "rip";
|
||||
df = "duf";
|
||||
time = "hyperfine";
|
||||
kami = "~/Documents/Rust/kami/target/release/kami";
|
||||
calc = "cpc";
|
||||
pdf = "mupdf";
|
||||
emacs = "emacs";
|
||||
river = "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river && river";
|
||||
cp = "xcp";
|
||||
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
|
||||
nix-edit = "sudo vim /etc/nixos/configuration.nix";
|
||||
|
||||
ls = "exa -lag --icons";
|
||||
upload = "~/.config/script/upload.sh";
|
||||
record = "~/.config/script/record.sh";
|
||||
speak = "~/.config/script/wisper.sh";
|
||||
vim = "nvim";
|
||||
cat = "bat";
|
||||
anime = "~/repos/ani-cli/ani-cli";
|
||||
hentai = "~/repos/and-scripts/fap-cli";
|
||||
manga = "manga-cli";
|
||||
yt = "~/repos/ytfzf/ytfzf --thumb-viewer='kitty' -t";
|
||||
cd = "z";
|
||||
rm = "rip";
|
||||
df = "duf";
|
||||
time = "hyperfine";
|
||||
kami = "~/Documents/Rust/kami/target/release/kami";
|
||||
calc = "cpc";
|
||||
pdf = "mupdf";
|
||||
emacs = "emacs";
|
||||
river = "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=river && river";
|
||||
cp = "xcp";
|
||||
wget = "wget --hsts-file=$XDG_DATA_HOME/wget-hsts";
|
||||
};
|
||||
|
||||
initContent = ''
|
||||
eval "$(${lib.getExe pkgs.zoxide} init zsh)"
|
||||
eval "$(${lib.getExe pkgs.atuin} init zsh)"
|
||||
source ${pkgs.spaceship-prompt}/lib/spaceship-prompt/spaceship.zsh
|
||||
'';
|
||||
|
||||
envExtra = ''
|
||||
${lib.getExe pkgs.macchina}
|
||||
nixdev() {
|
||||
|
||||
Reference in New Issue
Block a user