lots of stuff idk

This commit is contained in:
xunuwu 2024-04-04 19:43:43 +02:00
parent a18ceb4f2e
commit 4e5f0a6e0b
Signed by: xun
SSH key fingerprint: SHA256:Uot/1WoAjWAeqLOHA5vYy4phhVydsH7jCPmBjaPZfgI
39 changed files with 439 additions and 81 deletions

View file

@ -14,13 +14,13 @@ in {
package = pkgs.vscodium;
mutableExtensionsDir = true;
extensions = [
ovsx.vadimcn.vscode-lldb
ovsx.mkhl.direnv
ovsx.editorconfig.editorconfig
ovsx.pkief.material-icon-theme
ovsx.eamodio.gitlens
vsce.hediet.debug-visualizer
extensions = with vsce; [
vadimcn.vscode-lldb
mkhl.direnv
editorconfig.editorconfig
pkief.material-icon-theme
eamodio.gitlens
hediet.debug-visualizer
];
};
}

View file

@ -6,6 +6,7 @@
../../programs/browsers/firefox.nix
../../programs/desktop
../../programs/desktop/awesome
../../programs/media

View file

@ -1,5 +1,6 @@
{...}: {
imports = [
./kanshi.nix
../../terminal
../../editors/nvim.nix
../../editors/emacs.nix
@ -8,7 +9,9 @@
../../terminal/emulator/wezterm.nix
# desktop
../../programs/desktop
../../programs/desktop/awesome
../../programs/desktop/hyprland
# development
../../develop
@ -16,6 +19,7 @@
# programs
../../programs/misc/keepassxc.nix
../../programs/misc/discord.nix
../../programs/misc/obsidian.nix
../../programs/misc/thunderbird.nix
../../programs/music
../../programs/music/yams.nix
@ -24,6 +28,7 @@
../../programs/media/jellyfin.nix
# gaming
../../programs/games
../../programs/games/ludusavi.nix
# media services
../../services/media/playerctl.nix

View file

@ -0,0 +1,20 @@
{
services.kanshi = {
enable = true;
systemdTarget = "hyprland-session.target";
profiles."default" = {
outputs = [
{
# criteria = "AOC 27G2G3";
criteria = "DP-3";
mode = "1920x1080@165Hz";
}
{
# criteria = "AOC 24B1W";
criteria = "HDMI-A-1";
position = "1920,0";
}
];
};
};
}

View file

@ -14,12 +14,16 @@
sponsorblock
tridactyl
translate-web-pages
cookie-quick-manager
istilldontcareaboutcookies
(lib.mkIf (builtins.elem pkgs.keepassxc config.home.packages) keepassxc-browser)
];
bookmarks = {};
settings = {
"browser.tabs.inTitleBar" = "0"; # use system title bar (if you have one :))
"browser.newtabpage.enabled" = false;
"browser.newtab.url" = "about:blank";
"general.autoScroll" = "true"; # mmb scroll mode
"browser.newtabpage.enhanced" = false;
"browser.newtabpage.introShown" = true;

View file

@ -144,7 +144,7 @@ awful.screen.connect_for_each_screen(function(s)
set_wallpaper(s)
-- Each screen has its own tag table.
awful.tag({ "1", "2", "3", "4", "5" }, s, awful.layout.layouts[1])
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()

View file

@ -1,4 +1,9 @@
{pkgs, ...}: {
services.picom = {
enable = true;
vSync = true;
};
xsession.windowManager.awesome = {
enable = true;
noArgb = true;

View file

@ -0,0 +1,48 @@
{pkgs, ...}: {
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.apple-cursor;
name = "macOS-BigSur";
size = 16;
};
gtk = {
enable = true;
theme = {
package = pkgs.flat-remix-gtk;
name = "Flat-Remix-GTK-Grey-Darkest";
};
iconTheme = {
package = pkgs.gnome.adwaita-icon-theme;
name = "Adwaita";
};
font = {
name = "Sans";
size = 11;
};
};
qt = {
enable = true;
platformTheme = "gtk3";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal-kde
];
config = {
preferred = {
default = "hyprland;gtk";
"org.freedesktop.impl.portal.FileChooser" = "kde";
};
};
};
}

View file

@ -0,0 +1,111 @@
{
pkgs,
lib,
inputs,
config,
...
}: {
wayland.windowManager.hyprland = {
enable = true;
settings = {
exec-once = [
"${lib.getExe pkgs.waybar}"
"${lib.getExe pkgs.xwaylandvideobridge}"
"${lib.getExe pkgs.swaybg} -i ${config.xdg.userDirs.pictures}/wallpaper.png"
];
input = {
kb_layout = "eu";
};
env = [
"NIXOS_OZONE_WL,1" # for any ozone-based browser & electron apps to run on wayland
"MOZ_ENABLE_WAYLAND,1" # for firefox to run on wayland
"MOZ_WEBRENDER,1"
# misc
"_JAVA_AWT_WM_NONREPARENTING,1"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"QT_QPA_PLATFORM,wayland"
"SDL_VIDEODRIVER,wayland"
"GDK_BACKEND,wayland"
];
"$mainMod" = "SUPER";
bind = [
"$mainMod, RETURN, exec, ${lib.getExe pkgs.foot}"
"$mainMod, Q, killactive"
"$mainMod, SPACE, togglefloating"
"$mainMod, F, fullscreen"
"$mainMod, M, fullscreen, 1"
"$mainMod SHIFT, F, fakefullscreen"
"$mainMod, P, exec, ${pkgs.bemenu}/bin/bemenu-run"
"$mainMod SHIFT, E, exec, ${lib.getExe pkgs.wlogout}"
# focus with vim keys
"$mainMod, h, movefocus, l"
"$mainMod, j, movefocus, d"
"$mainMod, k, movefocus, u"
"$mainMod, l, movefocus, r"
# window move with vim keys
"$mainMod SHIFT, h, movewindow, l"
"$mainMod SHIFT, j, movewindow, d"
"$mainMod SHIFT, k, movewindow, u"
"$mainMod SHIFT, l, movewindow, r"
# switch workspace with mod+[0-9]
"$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 window to workspace with mod+shift+[0-9]
"$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"
# scroll through workspaces with mod+scroll
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause"
", XF86AudioStop, exec, ${lib.getExe pkgs.playerctl} stop"
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next"
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous"
];
bindm = [
# mod+lbm/rmb for move/resize
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
binde = [
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%+"
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 3%-"
];
windowrulev2 = [
# Allow hiding xwaylandvideobridge window correctly
"opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
"noanim,class:^(xwaylandvideobridge)$"
"noinitialfocus,class:^(xwaylandvideobridge)$"
"maxsize 1 1,class:^(xwaylandvideobridge)$"
"noblur,class:^(xwaylandvideobridge)$"
#"stayfocused,title:^(XtMapper)$"
"noanim,title:^(XtMapper)$"
"noblur,title:^(XtMapper)$"
"float,title:^(XtMapper)$"
"move 0% 0%,title:^(XtMapper)$"
"size 100%,title:^(XtMapper)$"
];
};
};
}

View file

@ -0,0 +1,6 @@
{pkgs, ...}: {
home.packages = with pkgs; [
ludusavi
rclone
];
}

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
home.packages = with pkgs; [obsidian];
}

View file

@ -21,16 +21,6 @@
-- Keys
c.leader = { key = 'j', mods = 'CTRL', timeout_milliseconds = 1000 }
c.keys = {
{
key = 'v',
mods = 'LEADER',
action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
},
{
key = 's',
mods = 'LEADER',
action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
},
{
key = 'q',
mods = 'LEADER',
@ -41,6 +31,60 @@
mods = 'LEADER',
action = wezterm.action.TogglePaneZoomState,
},
{
key = 'h',
mods = 'LEADER',
action = wezterm.action.ActivatePaneDirection('Left'),
},
{
key = 'j',
mods = 'LEADER',
action = wezterm.action.ActivatePaneDirection('Down'),
},
{
key = 'k',
mods = 'LEADER',
action = wezterm.action.ActivatePaneDirection('Up'),
},
{
key = 'l',
mods = 'LEADER',
action = wezterm.action.ActivatePaneDirection('Right'),
},
{
key = 'H',
mods = 'LEADER',
action = wezterm.action.SplitPane { direction = 'Left' },
},
{
key = 'J',
mods = 'LEADER',
action = wezterm.action.SplitPane { direction = 'Down' },
},
{
key = 'K',
mods = 'LEADER',
action = wezterm.action.SplitPane { direction = 'Up' },
},
{
key = 'L',
mods = 'LEADER',
action = wezterm.action.SplitPane { direction = 'Right' },
},
{
key = 's',
mods = 'LEADER',
action = wezterm.action.PaneSelect {
mode = "Activate"
},
},
{
key = ';',
mods = 'LEADER',
action = wezterm.action.PaneSelect {
mode = "SwapWithActive"
},
},
}
return c

View file

@ -1,6 +1,7 @@
{
imports = [
./git.nix
./github.nix
./direnv.nix
./xdg.nix
./comma.nix

View file

@ -0,0 +1,4 @@
{
programs.gh.enable = true;
programs.gh-dash.enable = true;
}

View file

@ -5,5 +5,10 @@
clock24 = true;
mouse = true;
escapeTime = 0;
extraConfig = ''
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}";
'';
};
}

View file

@ -5,7 +5,7 @@
enable = true;
autocd = true;
enableCompletion = true;
enableAutosuggestions = true;
autosuggestion.enable = true;
dotDir = ".config/zsh";
defaultKeymap = "emacs";