summaryrefslogtreecommitdiff
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--home/apps/default.nix1
-rw-r--r--home/apps/rofi/config.rasi99
-rw-r--r--home/apps/rofi/default.nix23
-rw-r--r--home/apps/rofi/theme.nix27
-rw-r--r--home/apps/wofi/default.nix2
-rw-r--r--home/apps/wofi/style.nix2
-rw-r--r--home/desktops/hyprland/binds.nix93
-rw-r--r--home/desktops/hyprland/settings.nix51
-rw-r--r--home/desktops/hyprland/wallpaper.nix6
-rw-r--r--home/neovim/init.lua17
10 files changed, 243 insertions, 78 deletions
diff --git a/home/apps/default.nix b/home/apps/default.nix
index 58cd117..ebbd605 100644
--- a/home/apps/default.nix
+++ b/home/apps/default.nix
@@ -1,5 +1,6 @@
_: {
imports = [
+ ./rofi
./waybar
./wofi
./alacritty.nix
diff --git a/home/apps/rofi/config.rasi b/home/apps/rofi/config.rasi
new file mode 100644
index 0000000..8d8b1a4
--- /dev/null
+++ b/home/apps/rofi/config.rasi
@@ -0,0 +1,99 @@
+configuration {
+ modi: "drun";
+ drun-match-fields: "name";
+ matching: "glob";
+ sort: true;
+ show-icons: true;
+ font: "JetBrainsMono Nerd Font 10";
+}
+
+@theme "~/.config/rofi/theme.rasi"
+
+window {
+ height: 30em;
+ width: 57em;
+ padding: @border-width;
+ background-color: @primary;
+ border-color: @primary;
+ border-radius: @outer-radius;
+}
+
+mainbox {
+ orientation: horizontal;
+ children: [ "inputbar" , "listbox" ];
+ background-color: @base;
+ border-radius: @outer-radius;
+}
+
+inputbar {
+ width: 27em;
+ children: [ "entry" ];
+ background-image: @background;
+}
+
+entry {
+ enabled: false;
+}
+
+listbox {
+ margin: 1em;
+ children: [ "dummy" , "listview" , "dummy" ];
+ background-color: transparent;
+}
+
+listview {
+ columns: 1;
+ lines: 7;
+ scrollbar: false;
+ expand: false;
+ fixed-height: true;
+ fixed-columns: true;
+ text-color: @text;
+ background-color: transparent;
+}
+
+dummy {
+ background-color: transparent;
+}
+
+element {
+ spacing: 1em;
+ padding: 0.5em 0.5em 0.5em 1.5em;
+ cursor: pointer;
+ text-color: @text;
+ background-color: transparent;
+ border-radius: @inner-radius;
+}
+
+element selected.normal {
+ text-color: @surface;
+ background-color: @primary;
+}
+
+element-icon {
+ size: 2.7em;
+ cursor: inherit;
+ text-color: inherit;
+ background-color: transparent;
+}
+
+element-text {
+ vertical-align: 0.5;
+ horizontal-align: 0.0;
+ text-color: inherit;
+ background-color: transparent;
+}
+
+error-message {
+ text-color: @text;
+ background-color: @base;
+ text-transform: capitalize;
+ children: [ "textbox" ];
+}
+
+textbox {
+ text-color: @error;
+ background-color: inherit;
+ vertical-align: 0.5;
+ horizontal-align: 0.5;
+}
diff --git a/home/apps/rofi/default.nix b/home/apps/rofi/default.nix
new file mode 100644
index 0000000..80c88a2
--- /dev/null
+++ b/home/apps/rofi/default.nix
@@ -0,0 +1,23 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ inherit (lib) mkIf;
+ theme = config.theme;
+ cfg = config.apps.rofi;
+in {
+ config = mkIf cfg.enable {
+ default.appLauncher = lib.mkOverride 700 "rofi -show drun";
+
+ home.packages = [
+ pkgs.rofi
+ ];
+
+ home.file = {
+ ".config/rofi/config.rasi".source = ./config.rasi;
+ ".config/rofi/theme.rasi".text = import ./theme.nix {inherit theme;};
+ };
+ };
+}
diff --git a/home/apps/rofi/theme.nix b/home/apps/rofi/theme.nix
new file mode 100644
index 0000000..891b5a3
--- /dev/null
+++ b/home/apps/rofi/theme.nix
@@ -0,0 +1,27 @@
+{theme}: let
+ text = "#${theme.colors.text}";
+ base = "#${theme.colors.base}";
+ surface = "#${theme.colors.surface}";
+ primary = "#${theme.colors.primary}";
+ error = "#${theme.colors.error}";
+ outerGap = "${toString theme.outerGap}px";
+ innerGap = "${toString theme.innerGap}px";
+ outerRadius = "${toString theme.outerRadius}px";
+ innerRadius = "${toString theme.innerRadius}px";
+ borderWidth = "${toString theme.borderWidth}px";
+ wallpaper = theme.wallpaper;
+in ''
+ * {
+ primary: ${primary};
+ error: ${error};
+ base: ${base};
+ surface: ${surface};
+ text: ${text};
+ inner-radius: ${innerRadius};
+ outer-radius: ${outerRadius};
+ inner-gap: ${innerGap};
+ outer-gap: ${outerGap};
+ border-width: ${borderWidth};
+ background: url("${wallpaper}", height);
+ }
+''
diff --git a/home/apps/wofi/default.nix b/home/apps/wofi/default.nix
index 2de9f45..b528f65 100644
--- a/home/apps/wofi/default.nix
+++ b/home/apps/wofi/default.nix
@@ -7,7 +7,7 @@
cfg = config.apps.wofi;
in {
config = mkIf cfg.enable {
- default.appLauncher = lib.mkDefault "wofi --show drun --prompt 'Seach Programs'";
+ default.appLauncher = lib.mkOverride 800 "wofi --show drun --prompt 'Seach Programs' --allow-images --no-actions --normal-window";
programs.wofi = {
enable = true;
diff --git a/home/apps/wofi/style.nix b/home/apps/wofi/style.nix
index 75a0a21..8d1fb75 100644
--- a/home/apps/wofi/style.nix
+++ b/home/apps/wofi/style.nix
@@ -18,7 +18,7 @@ in ''
/* Window */
window {
margin: 0px;
- border: ${borderWidth} solid ${primary};
+ border: none;
border-radius: ${outerRadius};
background-color: ${base};
}
diff --git a/home/desktops/hyprland/binds.nix b/home/desktops/hyprland/binds.nix
index df4ecc0..3266938 100644
--- a/home/desktops/hyprland/binds.nix
+++ b/home/desktops/hyprland/binds.nix
@@ -1,66 +1,67 @@
-{config, ...}: {
+{config, ...}: let
+ mod = "SUPER";
+in {
wayland.windowManager.hyprland.settings = {
# Keybinds
- "$mod" = "SUPER";
bind = [
# Launch programs
- "$mod, W, exec, ${config.default.browser}"
- "$mod, D, exec, ${config.default.appLauncher}"
- "$mod, L, exec, ${config.default.lockScreen}"
- "$mod, Return, exec, ${config.default.terminal}"
+ "${mod}, W, exec, ${config.default.browser}"
+ "${mod}, D, exec, ${config.default.appLauncher}"
+ "${mod}, L, exec, ${config.default.lockScreen}"
+ "${mod}, Return, exec, ${config.default.terminal}"
", Print, exec, grimblast copy area"
# Misc
- "$mod SHIFT, L, exit"
- #"$mod, tab, hyprexpo:expo, toggle"
+ "${mod} SHIFT, L, exit"
+ #"${mod}, tab, hyprexpo:expo, toggle"
# Window operations
- "$mod SHIFT, Q, killactive"
- "$mod SHIFT, SPACE, togglefloating"
- "$mod, F, fullscreen"
- "$mod, J, togglesplit"
+ "${mod} SHIFT, Q, killactive"
+ "${mod} SHIFT, SPACE, togglefloating"
+ "${mod}, F, fullscreen"
+ "${mod}, J, togglesplit"
# Move focus with mod + arrow keys
- "$mod, left, movefocus, l"
- "$mod, right, movefocus, r"
- "$mod, up, movefocus, u"
- "$mod, down, movefocus, d"
+ "${mod}, left, movefocus, l"
+ "${mod}, right, movefocus, r"
+ "${mod}, up, movefocus, u"
+ "${mod}, down, movefocus, d"
# Move window across workspace with mod + arrow keys
- "$mod SHIFT, left, hy3:movewindow, l"
- "$mod SHIFT, right, hy3:movewindow, r"
- "$mod SHIFT, up, hy3:movewindow, u"
- "$mod SHIFT, down, hy3:movewindow, d"
+ "${mod} SHIFT, left, hy3:movewindow, l"
+ "${mod} SHIFT, right, hy3:movewindow, r"
+ "${mod} SHIFT, up, hy3:movewindow, u"
+ "${mod} SHIFT, down, hy3:movewindow, d"
# Switch workspaces with mod + [0-9]
- "$mod, 1, workspace, 1"
- "$mod, 2, workspace, 2"
- "$mod, 3, workspace, 3"
- "$mod, 4, workspace, 4"
- "$mod, 5, workspace, 5"
- "$mod, 6, workspace, 6"
- "$mod, 7, workspace, 7"
- "$mod, 8, workspace, 8"
- "$mod, 9, workspace, 9"
+ "${mod}, 1, workspace, 1"
+ "${mod}, 2, workspace, 2"
+ "${mod}, 3, workspace, 3"
+ "${mod}, 4, workspace, 4"
+ "${mod}, 5, workspace, 5"
+ "${mod}, 6, workspace, 6"
+ "${mod}, 7, workspace, 7"
+ "${mod}, 8, workspace, 8"
+ "${mod}, 9, workspace, 9"
# Move active window to a workspace with mod + SHIFT + [0-9]
- "$mod SHIFT, 1, movetoworkspacesilent, 1"
- "$mod SHIFT, 2, movetoworkspacesilent, 2"
- "$mod SHIFT, 3, movetoworkspacesilent, 3"
- "$mod SHIFT, 4, movetoworkspacesilent, 4"
- "$mod SHIFT, 5, movetoworkspacesilent, 5"
- "$mod SHIFT, 6, movetoworkspacesilent, 6"
- "$mod SHIFT, 7, movetoworkspacesilent, 7"
- "$mod SHIFT, 8, movetoworkspacesilent, 8"
- "$mod SHIFT, 9, movetoworkspacesilent, 9"
- "$mod SHIFT, 0, movetoworkspacesilent, 10"
+ "${mod} SHIFT, 1, movetoworkspacesilent, 1"
+ "${mod} SHIFT, 2, movetoworkspacesilent, 2"
+ "${mod} SHIFT, 3, movetoworkspacesilent, 3"
+ "${mod} SHIFT, 4, movetoworkspacesilent, 4"
+ "${mod} SHIFT, 5, movetoworkspacesilent, 5"
+ "${mod} SHIFT, 6, movetoworkspacesilent, 6"
+ "${mod} SHIFT, 7, movetoworkspacesilent, 7"
+ "${mod} SHIFT, 8, movetoworkspacesilent, 8"
+ "${mod} SHIFT, 9, movetoworkspacesilent, 9"
+ "${mod} SHIFT, 0, movetoworkspacesilent, 10"
# Move to tab
@@ -75,14 +76,14 @@
"LALT, 9, hy3:focustab, index, 09"
"LALT, 0, hy3:focustab, index, 10"
- "$mod SHIFT, B, hy3:makegroup, h"
- "$mod SHIFT, V, hy3:makegroup, v"
- "$mod SHIFT, C, hy3:changegroup, toggletab"
+ "${mod} SHIFT, B, hy3:makegroup, h"
+ "${mod} SHIFT, V, hy3:makegroup, v"
+ "${mod} SHIFT, C, hy3:changegroup, toggletab"
# Scroll through existing workspaces with mod + scroll
- "$mod, mouse_down, workspace, e+1"
- "$mod, mouse_up, workspace, e-1"
+ "${mod}, mouse_down, workspace, e+1"
+ "${mod}, mouse_up, workspace, e-1"
];
bindn = [
@@ -96,8 +97,8 @@
bindm = [
# Move/resize windows with mod + LMB/RMB and dragging
- "$mod, mouse:272, movewindow"
- "$mod, mouse:273, resizewindow"
+ "${mod}, mouse:272, movewindow"
+ "${mod}, mouse:273, resizewindow"
];
binde = [
diff --git a/home/desktops/hyprland/settings.nix b/home/desktops/hyprland/settings.nix
index 219467e..d285b04 100644
--- a/home/desktops/hyprland/settings.nix
+++ b/home/desktops/hyprland/settings.nix
@@ -65,19 +65,27 @@
enabled = true;
bezier = [
- "windowIn, 0.06, 0.71, 0.25, 1"
- "windowResize, 0.04, 0.67, 0.38, 1"
+ "default, 0.12, 0.92, 0.08, 1.0"
+ "wind, 0.12, 0.92, 0.08, 1.0"
+ "overshot, 0.18, 0.95, 0.22, 1.03"
+ "linear, 1, 1, 1, 1"
];
animation = [
- "windowsIn, 1, 3, windowIn, slide #popin 20%"
- "windowsOut, 1, 3, windowIn, slide #popin 70%"
- "windowsMove, 1, 2.5, windowResize"
- "border, 1, 10, default"
- "borderangle, 1, 8, default"
- "fade, 1, 3, default"
- "workspaces, 1, 6, default"
- "layers, 1, 5, windowIn, slide"
+ "windows, 1, 5, wind, popin 60%"
+ "windowsIn, 1, 6, overshot, popin 60%"
+ "windowsOut, 1, 4, overshot, popin 60%"
+ "windowsMove, 1, 4, overshot, slide"
+ "layers, 1, 4, default, popin"
+ "fadeIn, 1, 7, default"
+ "fadeOut, 1, 7, default"
+ "fadeSwitch, 1, 7, default"
+ "fadeShadow, 1, 7, default"
+ "fadeDim, 1, 7, default"
+ "fadeLayers, 1, 7, default"
+ "workspaces, 1, 5, overshot, slide"
+ "border, 1, 1, linear"
+ "borderangle, 1, 24, linear, loop"
];
};
@@ -95,6 +103,24 @@
sensitivity = 0;
};
+ # Window rules
+ windowrulev2 = [
+ "float,workspace 1,forclass wofi"
+ "noborder,forclass wofi"
+ ];
+
+ # Layer rules
+ layerrule = [
+ "blur true, match:namespace wofi"
+ "ignore_alpha 0, match:namespace wofi"
+ "blur true, match:namespace notificaations"
+ "ignore_alpha 0, match:namespace notifications"
+ "blur true, match:namespace swaync-notificaation-window"
+ "ignore_alpha 0, match:namespace swaync-notification-window"
+ "blur true, match:namespace swaync-control-center"
+ "ignore_alpha 0, match:namespace swaync-control-center"
+ ];
+
# XWayland
xwayland = {
force_zero_scaling = "true";
@@ -116,11 +142,6 @@
no_update_news = true;
no_donation_nag = true;
};
-
- # Experimental
- experimental = {
- xx_color_management_v4 = true;
- };
}; # end settings
}; # end hyprland
}
diff --git a/home/desktops/hyprland/wallpaper.nix b/home/desktops/hyprland/wallpaper.nix
index e8fc861..0a404f5 100644
--- a/home/desktops/hyprland/wallpaper.nix
+++ b/home/desktops/hyprland/wallpaper.nix
@@ -3,8 +3,10 @@
enable = config.desktops.hyprland.enable;
settings = {
- preload = config.theme.wallpaper;
- wallpaper = ",${config.theme.wallpaper}";
+ wallpaper = {
+ monitor = "";
+ path = config.theme.wallpaper;
+ };
splash = false;
};
};
diff --git a/home/neovim/init.lua b/home/neovim/init.lua
index a97feb4..e66e523 100644
--- a/home/neovim/init.lua
+++ b/home/neovim/init.lua
@@ -291,19 +291,10 @@ require('nvim-surround').setup {}
--[[ SYNTAX HIGHLIGHTING ]]--
-require('nvim-treesitter.configs').setup {
- highlight = {
- enable = true,
- disable = function(lang, buf)
- local max_filesize = config.highlight.max_size * 1024
- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
- if ok and stats and stats.size > max_filesize then
- return true
- end
- end,
- additional_vim_regex_highlighting = true,
- },
-}
+vim.api.nvim_create_autocmd('FileType', {
+ pattern = { '<filetype>' },
+ callback = function() vim.treesitter.start() end,
+})
require('illuminate').configure {
providers = {