diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 3b2e7b7..de5fb88 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -45,7 +45,10 @@ walker.enable = true; waybar.enable = true; }; - desktops.niri.enable = true; + desktops.hyprland = { + enable = true; + scrolling = true; + }; locale.preset.theaninova.enable = true; networking.hosts = { @@ -195,6 +198,14 @@ 25565 50765 ]; + /* + allowedUDPPortRanges = [ + { + from = 1; + to = 65535; + } + ]; + */ }; networkmanager = { diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix index 8e79d99..7eb2139 100644 --- a/hosts/shark/default.nix +++ b/hosts/shark/default.nix @@ -181,6 +181,15 @@ ]; networking = { + firewall = { + allowedUDPPortRanges = [ + { + from = 1; + to = 65535; + } + ]; + }; + networkmanager = { enable = true; plugins = with pkgs; [ networkmanager-openconnect ]; diff --git a/modules/home-manager/desktops/hyprland/default.nix b/modules/home-manager/desktops/hyprland/default.nix index b9ddbff..07a0203 100644 --- a/modules/home-manager/desktops/hyprland/default.nix +++ b/modules/home-manager/desktops/hyprland/default.nix @@ -13,13 +13,17 @@ let hyprctl clients -j | jq -r "map(select(.workspace.id == $WORKSPACE) | select(.class == \"$1\") | .address | select(. != $WINDOW)) | .[0]" ''; }; + cfg = osConfig.desktops.hyprland; in { - config = lib.mkIf osConfig.desktops.hyprland.enable { + config = lib.mkIf cfg.enable { wayland.windowManager.hyprland = { enable = true; settings = { - general.allow_tearing = true; + general = { + allow_tearing = true; + layout = lib.mkIf cfg.scrolling "scrolling"; + }; input = { accel_profile = "flat"; kb_layout = osConfig.services.xserver.xkb.layout; @@ -32,23 +36,43 @@ in "SUPER,D,fullscreen,1" "SUPER,V,fullscreen,0" - "SUPER_SHIFT,up,movewindow,u" - "SUPER_SHIFT,down,movewindow,d" - "SUPER_SHIFT,left,movewindow,l" - "SUPER_SHIFT,right,movewindow,r" - - "SUPER,up,movefocus,u" - "SUPER,down,movefocus,d" - "SUPER,left,movefocus,l" - "SUPER,right,movefocus,r" - "SUPER,f,workspace,r-1" "SUPER,h,workspace,r+1" "SUPER_SHIFT,f,movetoworkspace,r-1" "SUPER_SHIFT,h,movetoworkspace,r+1" - "SUPER,mouse_up,workspace,r+1" - "SUPER,mouse_down,workspace,r-1" - ]; + ] + ++ ( + if cfg.scrolling then + [ + "SUPER,up,layoutmsg,focus u" + "SUPER,down,layoutmsg,focus d" + "SUPER,right,layoutmsg,focus r" + "SUPER,left,layoutmsg,focus l" + + "SUPER_SHIFT,up,layoutmsg,movewindowto u" + "SUPER_SHIFT,down,layoutmsg,movewindowto d" + "SUPER_SHIFT,left,layoutmsg,swapcol l" + "SUPER_SHIFT,right,layoutmsg,swapcol r" + + "SUPER,mouse_up,layoutmsg,focus r" + "SUPER,mouse_down,layoutmsg,focus l" + ] + else + [ + "SUPER_SHIFT,up,movewindow,u" + "SUPER_SHIFT,down,movewindow,d" + "SUPER_SHIFT,left,movewindow,l" + "SUPER_SHIFT,right,movewindow,r" + + "SUPER,up,movefocus,u" + "SUPER,down,movefocus,d" + "SUPER,left,movefocus,l" + "SUPER,right,movefocus,r" + + "SUPER,mouse_up,workspace,r+1" + "SUPER,mouse_down,workspace,r-1" + ] + ); bindm = [ "SUPER,mouse:272,movewindow" "SUPER,mouse:273,resizewindow" diff --git a/modules/home-manager/theme/nvim/syntax.nix b/modules/home-manager/theme/nvim/syntax.nix new file mode 100644 index 0000000..0a5a0ee --- /dev/null +++ b/modules/home-manager/theme/nvim/syntax.nix @@ -0,0 +1,167 @@ +# Somewhat adapted from https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/groups/syntax.lua +{ C, O }: +{ + Comment.fg = C.outline; # just comments + SpecialComment.link = C.keywords; # special things inside a comment + Constant.fg = C.constants; # (preferred) any constant + String.fg = C.strings; # a string constant: "this is a string" + Character.fg = C.keywords; # a character constant: 'c', '\n' + Number.fg = C.numbers; # a number constant: 234, 0xff + Float.fg = C.numbers; # a floating point constant: 2.3e10 + Boolean.fg = C.keywords; # a boolean constant: TRUE, false + Identifier.fg = C.on_surface; # (preferred) any variable name + Function.fg = C.functions; # function name (also: methods for classes) + Statement.fg = C.mauve; # (preferred) any statement + Conditional.fg = C.keywords; # if, then, else, endif, switch, etc. + Repeat.fg = C.keywords; # for, do, while, etc. + Label.fg = C.keywords; # case, default, etc. + Operator.fg = C.on_surface; # "sizeof", "+", "*", etc. + Keyword.fg = C.keywords; # any other keyword + Exception.fg = C.keywords; # try, catch, throw + + PreProc.link = C.structures; # (preferred) generic Preprocessor + Include.fg = C.keywords; # preprocessor #include + Define.fg = C.keywords; # preprocessor #define + Macro.fg = C.keywords; # same as Define + PreCondit.fg = C.keywords; # preprocessor #if, #else, #endif, etc. + + StorageClass.fg = C.keywords; # static, register, volatile, etc. + Structure.fg = C.structures; # struct, union, enum, etc. + Special.fg = C.keywords; # (preferred) any special symbol + Type.fg = C.types; # (preferred) int, long, char, etc. + Typedef.link = "Type"; # A typedef + SpecialChar.link = "Special"; # special character in a constant + Tag = C.structures; # you can use CTRL-] on this + Delimiter.fg = C.on_surface; # character that needs attention + Debug.link = "Special"; # debugging statements + + Underlined.style = [ "underline" ]; # (preferred) text that stands out, HTML links + Bold.style = [ "bold" ]; + Italic.style = [ "italic" ]; + # ("Ignore", below, may be invisible...) + # Ignore = { }; # (preferred) left blank, hidden |hl-Ignore| + + Error = { + bg = C.danger_container; # (preferred) any erroneous construct + fg = C.on_danger_container; + }; + Todo = { + bg = C.yellow_container; + fg = C.on_yellow_container; + }; # (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX + qfLineNr.fg = C.yellow; + qfFileName.fg = C.blue; + htmlH1 = { + fg = C.pink; + style = [ "bold" ]; + }; + htmlH2 = { + fg = C.blue; + style = [ "bold" ]; + }; + # mkdHeading = { fg = C.peach; style = [ "bold" ]; }; + # mkdCode = { bg = C.terminal_black; fg = C.text; }; + mkdCodeDelimiter = { + bg = C.base; + fg = C.text; + }; + mkdCodeStart = { + fg = C.flamingo; + style = [ "bold" ]; + }; + mkdCodeEnd = { + fg = C.flamingo; + style = [ "bold" ]; + }; + # mkdLink = { fg = C.blue; style = [ "underline" ]; }; + + # debugging + debugPC = { + bg = if O.transparent_background then C.none else C.crust; + }; # used for highlighting the current line in terminal-debug + debugBreakpoint = { + bg = C.base; + fg = C.overlay0; + }; # used for breakpoint colors in terminal-debug + # illuminate + illuminatedWord = { + bg = C.surface1; + }; + illuminatedCurWord = { + bg = C.surface1; + }; + # diff + Added.fg = C.green; + Changed.fg = C.blue; + diffAdded.fg = C.green; + diffRemoved.fg = C.red; + diffChanged.fg = C.blue; + diffOldFile.fg = C.yellow; + diffNewFile.fg = C.peach; + diffFile.fg = C.blue; + diffLine.fg = C.overlay0; + diffIndexLine.fg = C.teal; + DiffAdd = { + bg = U.darken C.green 0.18 C.base; + }; # diff mode: Added line |diff.txt| + DiffChange = { + bg = U.darken C.blue 0.07 C.base; + }; # diff mode: Changed line |diff.txt| + DiffDelete = { + bg = U.darken C.red 0.18 C.base; + }; # diff mode: Deleted line |diff.txt| + DiffText = { + bg = U.darken C.blue 0.30 C.base; + }; # diff mode: Changed text within a changed line |diff.txt| + # NeoVim + healthError.fg = C.red; + healthSuccess.fg = C.teal; + healthWarning.fg = C.yellow; + # misc + + # glyphs + GlyphPalette1.fg = C.red; + GlyphPalette2.fg = C.teal; + GlyphPalette3.fg = C.yellow; + GlyphPalette4.fg = C.blue; + GlyphPalette6.fg = C.teal; + GlyphPalette7.fg = C.text; + GlyphPalette9.fg = C.red; + + # rainbow + rainbow1.fg = C.red; + rainbow2.fg = C.peach; + rainbow3.fg = C.yellow; + rainbow4.fg = C.green; + rainbow5.fg = C.sapphire; + rainbow6.fg = C.lavender; + + # csv + csvCol0.fg = C.red; + csvCol1.fg = C.peach; + csvCol2.fg = C.yellow; + csvCol3.fg = C.green; + csvCol4.fg = C.sky; + csvCol5.fg = C.blue; + csvCol6.fg = C.lavender; + csvCol7.fg = C.mauve; + csvCol8.fg = C.pink; + + # markdown + markdownHeadingDelimiter = { + fg = C.peach; + style = [ "bold" ]; + }; + markdownCode.fg = C.flamingo; + markdownCodeBlock.fg = C.flamingo; + markdownLinkText = { + fg = C.blue; + style = [ "underline" ]; + }; + markdownH1.link = "rainbow1"; + markdownH2.link = "rainbow2"; + markdownH3.link = "rainbow3"; + markdownH4.link = "rainbow4"; + markdownH5.link = "rainbow5"; + markdownH6.link = "rainbow6"; +} diff --git a/modules/home-manager/theme/nvim/treesitter.nix b/modules/home-manager/theme/nvim/treesitter.nix new file mode 100644 index 0000000..0b39032 --- /dev/null +++ b/modules/home-manager/theme/nvim/treesitter.nix @@ -0,0 +1,415 @@ +{ C, O }: +let + self = { + # Reference: https://github.com/nvim-treesitter/nvim-treesitter/blob/master/CONTRIBUTING.md + # Identifiers + "@variable".fg = C.on_surface; # Any variable name that does not have another highlight. + "@variable.builtin".fg = C.keywords; # Variable names that are defined by the languages, like this or self. + "@variable.parameter".fg = C.on_surface; # For parameters of a function. + "@variable.member".fg = C.properties; # For fields. + + "@constant".fg = C.constants; # For constants + "@constant.builtin".fg = C.keywords; # For constant that are built in the language: nil in Lua. + "@constant.macro".link = "Macro"; # For constants that are defined by macros: NULL in C. + + "@module".fg = C.structures; # For identifiers referring to modules and namespaces. + "@label".link = "Label"; # For labels: label: in C and :label: in Lua. + + # Literals + "@string".link = "String"; # For strings. + /* + "@string.documentation" = { + fg = C.teal; + style = O.styles.strings or { }; + }; # For strings documenting code (e.g. Python docstrings). + "@string.regexp" = { + fg = C.pink; + style = O.styles.strings or { }; + }; # For regexes. + "@string.escape" = { + fg = C.pink; + style = O.styles.strings or { }; + }; # For escape characters within a string. + "@string.special".link = "Special"; # other special strings (e.g. dates) + "@string.special.path".link = "Special"; # filenames + "@string.special.symbol".fg = C.flamingo; # symbols or atoms + "@string.special.url" = { + fg = C.blue; + style = [ + "italic" + "underline" + ]; + }; # urls, links and emails + "@punctuation.delimiter.regex" = { + link = "@string.regexp"; + }; + */ + + "@character".link = "Character"; # character literals + "@character.special".link = "SpecialChar"; # special characters (e.g. wildcards) + + "@boolean".link = "Boolean"; # For booleans. + "@number".link = "Number"; # For all numbers + "@number.float".link = "Float"; # For floats. + + # Types + "@type".link = "Type"; # For types. + "@type.builtin".fg = C.keywords; # For builtin types. + "@type.definition".link = "Type"; # type definitions (e.g. `typedef` in C) + + "@attribute".fg = C.properties; # attribute annotations (e.g. Python decorators) + "@property".fg = C.properties; # fields, like accessing `bar` property on `foo.bar`. Overriden later for data languages and CSS. + + # Functions + "@function".link = "Function"; # For function (calls and definitions). + "@function.builtin" = { + fg = C.functions; + style = [ "bold" ]; + }; # For builtin functions: table.insert in Lua. + "@function.call".link = "Function"; # function calls + "@function.macro".link = "Macro"; # For macro defined functions (calls and definitions): each macro_rules in Rust. + + "@function.method".link = "Function"; # For method definitions. + "@function.method.call".link = "Function"; # For method calls. + + "@constructor" = { + fg = C.yellow; + }; # For constructor calls and definitions: = { } in Lua, and Java constructors. + "@operator" = { + link = "Operator"; + }; # For any operator: +, but also -> and * in C. + + # Keywords + "@keyword".link = "Keyword"; # For keywords that don't fall in previous categories. + "@keyword.modifier".link = "Keyword"; # For keywords modifying other constructs (e.g. `const`, `static`, `public`) + "@keyword.type".link = "Keyword"; # For keywords describing composite types (e.g. `struct`, `enum`) + "@keyword.coroutine".link = "Keyword"; # For keywords related to coroutines (e.g. `go` in Go, `async/await` in Python) + "@keyword.function" = { + fg = C.mauve; + style = O.styles.keywords or { }; + }; # For keywords used to define a function. + "@keyword.operator" = { + fg = C.mauve; + style = O.styles.keywords or { }; + }; # For new keyword operator + "@keyword.import" = { + link = "Include"; + }; # For includes: #include in C, use or extern crate in Rust, or require in Lua. + "@keyword.repeat" = { + link = "Repeat"; + }; # For keywords related to loops. + "@keyword.return" = { + fg = C.mauve; + style = O.styles.keywords or { }; + }; + "@keyword.debug".link = "Exception"; # For keywords related to debugging + "@keyword.exception".link = "Exception"; # For exception related keywords. + + "@keyword.conditional".link = "Conditional"; # For keywords related to conditionals. + "@keyword.conditional.ternary".link = "Operator"; # For ternary operators (e.g. `?` / `:`) + + "@keyword.directive".link = "PreProc"; # various preprocessor directives & shebangs + "@keyword.directive.define".link = "Define"; # preprocessor definition directives + "@keyword.export" = { + fg = C.mauve; + style = O.styles.keywords; + }; # JS & derivative + + # Punctuation + "@punctuation.delimiter".link = "Delimiter"; # For delimiters (e.g. `;` / `.` / `,`). + "@punctuation.bracket".fg = C.overlay2; # For brackets and parenthesis. + "@punctuation.special".link = "Special"; # For special punctuation that does not fall in the categories before (e.g. `{}` in string interpolation). + + # Comment + "@comment".link = "Comment"; + "@comment.documentation".link = "Comment"; # For comments documenting code + + "@comment.error" = { + fg = C.base; + bg = C.red; + }; + "@comment.warning" = { + fg = C.base; + bg = C.yellow; + }; + "@comment.hint" = { + fg = C.base; + bg = C.blue; + }; + "@comment.todo" = { + fg = C.base; + bg = C.flamingo; + }; + "@comment.note" = { + fg = C.base; + bg = C.rosewater; + }; + + # Markup + "@markup" = { + fg = C.text; + }; # For strings considerated text in a markup language. + "@markup.strong" = { + fg = C.red; + style = [ "bold" ]; + }; # bold + "@markup.italic" = { + fg = C.red; + style = [ "italic" ]; + }; # italic + "@markup.strikethrough" = { + fg = C.text; + style = [ "strikethrough" ]; + }; # strikethrough text + "@markup.underline" = { + link = "Underlined"; + }; # underlined text + + "@markup.heading".fg = C.blue; # titles like: # Example + "@markup.heading.markdown".style = [ "bold" ]; # bold headings in markdown, but not in HTML or other markup + + "@markup.math".fg = C.blue; # math environments (e.g. `$ ... $` in LaTeX) + "@markup.quote".fg = C.pink; # block quotes + "@markup.environment".fg = C.pink; # text environments of markup languages + "@markup.environment.name".fg = C.blue; # text indicating the type of an environment + + "@markup.link".fg = C.lavender; # text references, footnotes, citations, etc. + "@markup.link.label".fg = C.lavender; # link, reference descriptions + "@markup.link.url" = { + fg = C.blue; + style = [ + "italic" + "underline" + ]; + }; # urls, links and emails + + "@markup.raw" = { + fg = C.green; + }; # used for inline code in markdown and for doc in python (""") + + "@markup.list" = { + fg = C.teal; + }; + "@markup.list.checked" = { + fg = C.green; + }; # todo notes + "@markup.list.unchecked" = { + fg = C.overlay1; + }; # todo notes + + # Diff + "@diff.plus" = { + link = "diffAdded"; + }; # added text (for diff files) + "@diff.minus" = { + link = "diffRemoved"; + }; # deleted text (for diff files) + "@diff.delta" = { + link = "diffChanged"; + }; # deleted text (for diff files) + + # Tags + "@tag" = { + fg = C.blue; + }; # Tags like HTML tag names. + "@tag.builtin" = { + fg = C.blue; + }; # JSX tag names. + "@tag.attribute" = { + fg = C.yellow; + style = O.styles.miscs or [ "italic" ]; + }; # XML/HTML attributes (foo in foo="bar"). + "@tag.delimiter" = { + fg = C.teal; + }; # Tag delimiter like < > / + + # Misc + "@error" = { + link = "Error"; + }; + + # Language specific: + "@function.builtin.bash" = { + fg = C.red; + style = O.styles.miscs or [ "italic" ]; + }; + "@variable.parameter.bash" = { + fg = C.green; + }; + + "@markup.heading.1.markdown".link = "rainbow1"; + "@markup.heading.2.markdown".link = "rainbow2"; + "@markup.heading.3.markdown".link = "rainbow3"; + "@markup.heading.4.markdown".link = "rainbow4"; + "@markup.heading.5.markdown".link = "rainbow5"; + "@markup.heading.6.markdown".link = "rainbow6"; + + "@markup.heading.html" = { + link = "@markup"; + }; + "@markup.heading.1.html" = { + link = "@markup"; + }; + "@markup.heading.2.html" = { + link = "@markup"; + }; + "@markup.heading.3.html" = { + link = "@markup"; + }; + "@markup.heading.4.html" = { + link = "@markup"; + }; + "@markup.heading.5.html" = { + link = "@markup"; + }; + "@markup.heading.6.html" = { + link = "@markup"; + }; + + "@constant.java" = { + fg = C.teal; + }; + + "@property.css" = { + fg = C.blue; + }; + "@property.scss" = { + fg = C.blue; + }; + "@property.id.css" = { + fg = C.yellow; + }; + "@property.class.css" = { + fg = C.yellow; + }; + "@type.css" = { + fg = C.lavender; + }; + "@type.tag.css" = { + fg = C.blue; + }; + "@string.plain.css" = { + fg = C.text; + }; + "@number.css" = { + fg = C.peach; + }; + "@keyword.directive.css" = { + link = "Keyword"; + }; # CSS at-rules + + "@string.special.url.html" = { + fg = C.green; + }; # Links in href, src attributes. + "@markup.link.label.html" = { + fg = C.text; + }; # Text between tags. + "@character.special.html" = { + fg = C.red; + }; # Symbols such as  . + + "@constructor.lua" = { + link = "@punctuation.bracket"; + }; # For constructor calls and definitions: = { } in Lua. + "@constructor.python" = { + fg = C.sky; + }; # __init__(), __new__(). + "@label.yaml" = { + fg = C.yellow; + }; # Anchor and alias names. + "@string.special.symbol.ruby" = { + fg = C.flamingo; + }; + + "@function.method.php" = { + link = "Function"; + }; + "@function.method.call.php" = { + link = "Function"; + }; + + "@keyword.import.c" = { + fg = C.yellow; + }; + "@keyword.import.cpp" = { + fg = C.yellow; + }; + "@attribute.c_sharp" = { + fg = C.yellow; + }; + "@comment.warning.gitcommit" = { + fg = C.yellow; + }; + "@string.special.path.gitignore" = { + fg = C.text; + }; + + gitcommitSummary = { + fg = C.rosewater; + style = O.styles.miscs or [ "italic" ]; + }; + zshKSHFunction = { + link = "Function"; + }; + + # Legacy highlights + "@parameter" = self."@variable.parameter"; + "@field" = self."@variable.member"; + "@namespace" = self."@module"; + "@float" = self."@number.float"; + "@symbol" = self."@string.special.symbol"; + "@string.regex" = self."@string.regexp"; + + "@text" = self."@markup"; + "@text.strong" = self."@markup.strong"; + "@text.emphasis" = self."@markup.italic"; + "@text.underline" = self."@markup.underline"; + "@text.strike" = self."@markup.strikethrough"; + "@text.uri" = self."@markup.link.url"; + "@text.math" = self."@markup.math"; + "@text.environment" = self."@markup.environment"; + "@text.environment.name" = self."@markup.environment.name"; + + "@text.title" = self."@markup.heading"; + "@text.literal" = self."@markup.raw"; + "@text.reference" = self."@markup.link"; + + "@text.todo.checked" = self."@markup.list.checked"; + "@text.todo.unchecked" = self."@markup.list.unchecked"; + + "@text.todo" = self."@comment.todo"; + "@text.warning" = self."@comment.warning"; + "@text.note" = self."@comment.note"; + "@text.danger" = self."@comment.error"; + + "@method" = self."@function.method"; + "@method.call" = self."@function.method.call"; + + "@text.diff.add" = self."@diff.plus"; + "@text.diff.delete" = self."@diff.minus"; + + "@type.qualifier" = self."@keyword.modifier"; + "@keyword.storage" = self."@keyword.modifier"; + "@define" = self."@keyword.directive.define"; + "@preproc" = self."@keyword.directive"; + "@storageclass" = self."@keyword.storage"; + "@conditional" = self."@keyword.conditional"; + "@exception" = self."@keyword.exception"; + "@include" = self."@keyword.import"; + "@repeat" = self."@keyword.repeat"; + + "@symbol.ruby" = self."@string.special.symbol.ruby"; + "@variable.member.yaml" = self."@field.yaml"; + + "@text.title.1.markdown" = self."@markup.heading.1.markdown"; + "@text.title.2.markdown" = self."@markup.heading.2.markdown"; + "@text.title.3.markdown" = self."@markup.heading.3.markdown"; + "@text.title.4.markdown" = self."@markup.heading.4.markdown"; + "@text.title.5.markdown" = self."@markup.heading.5.markdown"; + "@text.title.6.markdown" = self."@markup.heading.6.markdown"; + + "@method.php" = self."@function.method.php"; + "@method.call.php" = self."@function.method.call.php"; + }; +in +self diff --git a/modules/nixos/desktops/hyprland.nix b/modules/nixos/desktops/hyprland.nix index 416b179..e8b78b1 100644 --- a/modules/nixos/desktops/hyprland.nix +++ b/modules/nixos/desktops/hyprland.nix @@ -12,6 +12,7 @@ in { options.desktops.hyprland = { enable = lib.mkEnableOption "Enable a DE based on Hyprland"; + scrolling = lib.mkEnableOption "Hyprland scrolling wm"; }; config = lib.mkIf cfg.enable { @@ -34,8 +35,12 @@ in }; input.numlock_by_default = true; }; - plugins = with pkgs.hyprlandPlugins; [ - ]; + plugins = lib.mkIf cfg.scrolling ( + with pkgs.hyprlandPlugins; + [ + hyprscrolling + ] + ); }; home = { packages = with pkgs; [ grim ]; diff --git a/modules/nixos/hardware/fv43u.nix b/modules/nixos/hardware/fv43u.nix index 5577bff..8d0fa0c 100644 --- a/modules/nixos/hardware/fv43u.nix +++ b/modules/nixos/hardware/fv43u.nix @@ -57,7 +57,9 @@ in layout.struts.top = 80; }; wayland.windowManager.hyprland.settings = { - general.layout = "master"; + plugin.hyprscrolling = lib.mkIf config.desktops.hyprland.scrolling { + column_width = 0.4; + }; master = { orientation = "center"; slave_count_for_center_master = 0; @@ -65,19 +67,13 @@ in allow_small_split = true; }; render.direct_scanout = 0; - /* - monitor = [ - "${monitorline},sdrbrightness,1.3" - "DP-3,addreserved,340,0,0,0" - ]; - */ monitorv2 = { output = "DP-3"; mode = "3840x2160@144"; position = "0x0"; scale = 1; bitdepth = 10; - addreserved = "340,0,0,0"; + addreserved = "80,0,0,0"; cm = if cfg.hdr then "hdredid" else "srgb"; sdr_min_luminance = 0.25; sdr_max_luminance = 250; @@ -88,7 +84,7 @@ in min_refresh_rate = 48; no_break_fs_vrr = 1; }; - experimental.xx_color_management_v4 = true; + # experimental.xx_color_management_v4 = true; }; programs.waybar.settings.mainBar = diff --git a/modules/nixos/shell/walker.nix b/modules/nixos/shell/walker.nix index d7e98a4..9362a37 100644 --- a/modules/nixos/shell/walker.nix +++ b/modules/nixos/shell/walker.nix @@ -19,11 +19,13 @@ in home-manager.users.${username} = { wayland.windowManager.hyprland.settings = { bindr = [ "SUPER,SUPER_L,exec,uwsm app -- ${lib.getExe pkgs.walker}" ]; - layerrule = [ - # TODO: Add layer rules for walker - "blur, anyrun" - "ignorealpha 0.3, anyrun" - ]; + /* + layerrule = [ + # TODO: Add layer rules for walker + "blur, anyrun" + "ignorealpha 0.3, anyrun" + ]; + */ }; programs.niri.settings.binds."Mod+Space".action.spawn = [ (lib.getExe pkgs.walker) ]; home.packages = with pkgs; [