lots of stuff idk
This commit is contained in:
parent
a18ceb4f2e
commit
4e5f0a6e0b
39 changed files with 439 additions and 81 deletions
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
../../programs/browsers/firefox.nix
|
||||
|
||||
../../programs/desktop
|
||||
../../programs/desktop/awesome
|
||||
|
||||
../../programs/media
|
||||
|
|
|
@ -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
|
||||
|
|
20
home/profiles/nixdesk/kanshi.nix
Normal file
20
home/profiles/nixdesk/kanshi.nix
Normal 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";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
services.picom = {
|
||||
enable = true;
|
||||
vSync = true;
|
||||
};
|
||||
|
||||
xsession.windowManager.awesome = {
|
||||
enable = true;
|
||||
noArgb = true;
|
||||
|
|
48
home/programs/desktop/default.nix
Normal file
48
home/programs/desktop/default.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
111
home/programs/desktop/hyprland/default.nix
Normal file
111
home/programs/desktop/hyprland/default.nix
Normal 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)$"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
6
home/programs/games/ludusavi.nix
Normal file
6
home/programs/games/ludusavi.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
ludusavi
|
||||
rclone
|
||||
];
|
||||
}
|
3
home/programs/misc/obsidian.nix
Normal file
3
home/programs/misc/obsidian.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [obsidian];
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./github.nix
|
||||
./direnv.nix
|
||||
./xdg.nix
|
||||
./comma.nix
|
||||
|
|
4
home/terminal/programs/github.nix
Normal file
4
home/terminal/programs/github.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
programs.gh.enable = true;
|
||||
programs.gh-dash.enable = true;
|
||||
}
|
|
@ -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}";
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
enable = true;
|
||||
autocd = true;
|
||||
enableCompletion = true;
|
||||
enableAutosuggestions = true;
|
||||
autosuggestion.enable = true;
|
||||
dotDir = ".config/zsh";
|
||||
defaultKeymap = "emacs";
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue