feat: switch over to a neovim cofeat & fix & refactor: so many things. listed in desc
switch over to a neovim configuration in lua, btrtile for dwl, remove unnecessary things, some browser addons, rofimoji, fix february flake
This commit is contained in:
Generated
+113
-63
@@ -68,6 +68,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16_2": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755819240,
|
||||
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -103,16 +121,16 @@
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"neovim-nightly-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"lastModified": 1768135262,
|
||||
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -176,6 +194,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -224,11 +258,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771269455,
|
||||
"narHash": "sha256-BZ31eN5F99YH6vkc4AhzKGE+tJgJ52kl8f01K7wCs8w=",
|
||||
"lastModified": 1769776025,
|
||||
"narHash": "sha256-70a1kVC08AMTvPc7iqQsJbbD4Y1fukakMVudz4oY9SM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "5f1d42a97b19803041434f66681d5c44c9ae62e3",
|
||||
"rev": "0fba737f8d5571d41467f3d99a878e11b8c0f0f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -245,11 +279,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771102945,
|
||||
"narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=",
|
||||
"lastModified": 1768434960,
|
||||
"narHash": "sha256-cJbFn17oyg6qAraLr+NVeNJrXsrzJdrudkzI4H2iTcg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ff5e5d882c51f9a032479595cbab40fd04f56399",
|
||||
"rev": "b4d88c9ac42ae1a745283f6547701da43b6e9f9b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -258,6 +292,42 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-nightly-overlay": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"neovim-src": "neovim-src",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769731486,
|
||||
"narHash": "sha256-FubWXQX1k1qyVKWiGNVSw2bQ2TD739PRqRsLXS/b2y0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "0d454d45604a3215057806757beda9bc7390d59e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1769723720,
|
||||
"narHash": "sha256-gmlHBj1nGfOBaCMEfgHdy/4sbuBXDaVIWNGJVPP+vNw=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "52cd9dcff260decda860cf154873b298d10c1208",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-wallpaper": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
@@ -267,11 +337,11 @@
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769821964,
|
||||
"narHash": "sha256-WcfoLCZbo32Psw2mP9bF8uHCF50SMAhQFkWq+/+Z9B0=",
|
||||
"lastModified": 1769120060,
|
||||
"narHash": "sha256-tolMUwGXDZ7i6Vl2tUA2qpx2ElzgUNcmIHSRetCOlyU=",
|
||||
"owner": "lunik1",
|
||||
"repo": "nix-wallpaper",
|
||||
"rev": "f658947fdc9ab85be9003deb26632a464bd41e5d",
|
||||
"rev": "6cac16b301d5cdfa299224182b8891c7fd31b437",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -282,11 +352,27 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"lastModified": 1769527094,
|
||||
"narHash": "sha256-xV20Alb7ZGN7qujnsi5lG1NckSUmpIb05H2Xar73TDc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"rev": "afce96367b2e37fc29afb5543573cd49db3357b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1769461804,
|
||||
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -296,28 +382,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771135771,
|
||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
@@ -368,17 +432,18 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"home-manager": "home-manager",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nix-wallpaper": "nix-wallpaper",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"stylix": "stylix",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"base16": "base16_2",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
@@ -389,7 +454,7 @@
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems_3",
|
||||
"systems": "systems_2",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
@@ -397,11 +462,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771330061,
|
||||
"narHash": "sha256-qBWXy3mSOEYjvZB/RZHT0joVPhNWU8GQZQljLzyMTq0=",
|
||||
"lastModified": 1769782950,
|
||||
"narHash": "sha256-bMJPPDyG/BV7Qx0r5JuO9oQG/o/VlnEOFnC8zKhJsBQ=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "fa45bf2d70517a8643a0edb44b02b8e6c0453d06",
|
||||
"rev": "aad90ca763be126c0ed67c29826bbb9b5ca665d8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -440,21 +505,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -544,11 +594,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771303996,
|
||||
"narHash": "sha256-cwf75uTx8cGJCP+nohi7iVTE+lmfevBxNgirkMLkuEY=",
|
||||
"lastModified": 1769748063,
|
||||
"narHash": "sha256-H5XCtJMS3RQKHeaS+axX7CAJ0WwuTUYGy4uzLFSm0Xc=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "a7659a805bda3ae8e4861572d8dc0f1d29f3fc3c",
|
||||
"rev": "efdd1e683da9412f515b9bd42c37861978c2fd3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
base16 = {
|
||||
url = "github:SenchoPens/base16.nix";
|
||||
};
|
||||
zen-browser = {
|
||||
url = "github:0xc000022070/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -45,9 +45,9 @@
|
||||
hostName = "february";
|
||||
inherit userName;
|
||||
inherit inputs;
|
||||
};
|
||||
|
||||
modules = [ ./host/pc/february/configuration.nix ];
|
||||
modules = [ ./host/pc/february/configuration.nix ];
|
||||
};
|
||||
};
|
||||
|
||||
"march" = inputs.nixpkgs.lib.nixosSystem {
|
||||
|
||||
@@ -1,37 +1,11 @@
|
||||
{pkgs, ...}:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
clang
|
||||
];
|
||||
|
||||
home.file.".clang-format".text = ''
|
||||
---
|
||||
BasedOnStyle: WebKit
|
||||
AlignAfterOpenBracket: Align
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: true
|
||||
AfterClass: true
|
||||
AfterControlStatement: Always
|
||||
AfterEnum: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
AfterExternBlock: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
BeforeLambdaBody: true
|
||||
BeforeWhile: true
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBraces: Custom
|
||||
ColumnLimit: 80
|
||||
IndentCaseLabels: true
|
||||
InsertBraces: true
|
||||
TabWidth: 4
|
||||
|
||||
'';
|
||||
home.file.".clang-format".text = ''
|
||||
---
|
||||
BasedOnStyle: LLVM
|
||||
ColumnLimit: 80
|
||||
IndentCaseLabels: true
|
||||
InsertBraces: true
|
||||
IndentWidth: 4
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -3,16 +3,13 @@
|
||||
imports = [
|
||||
inputs.nixvim.homeModules.nixvim
|
||||
inputs.zen-browser.homeModules.default
|
||||
#inputs.stylix.homeModules.stylix
|
||||
|
||||
./programs
|
||||
|
||||
./clangd.nix
|
||||
./hyprland.nix
|
||||
./packages.nix
|
||||
./xdg.nix
|
||||
];
|
||||
|
||||
home.username = "autumn";
|
||||
home.homeDirectory = "/home/autumn";
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
hyprpicker
|
||||
swww
|
||||
];
|
||||
|
||||
home.file.".config/hypr/hyprland.conf".text = ''
|
||||
$mainMod=SUPER
|
||||
$menu=rofi -show drun
|
||||
$powerMenu=rofi -show power-menu -modi "power-menu:rofi-power-menu --choices lockscreen/suspend/reboot/shutdown"
|
||||
$switchThemes=rofi -show switch-theme -modes "switch-theme:/etc/nixos/home/pc/common/programs/rofi/scripts/switch-theme.sh"
|
||||
$screenshot=slurp | grim -g - - | wl-copy
|
||||
$terminal=kitty
|
||||
animations {
|
||||
bezier=myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
animation=windows, 1, 7, myBezier
|
||||
animation=windowsOut, 1, 7, default, popin 80%
|
||||
animation=border, 1, 10, default
|
||||
animation=borderangle, 1, 8, default
|
||||
animation=fade, 1, 7, default
|
||||
animation=workspaces, 1, 6, default
|
||||
enabled=true
|
||||
}
|
||||
|
||||
decoration {
|
||||
blur {
|
||||
enabled=yes
|
||||
ignore_opacity=on
|
||||
new_optimizations=on
|
||||
passes=3
|
||||
size=6
|
||||
special=true
|
||||
xray=false
|
||||
}
|
||||
# active_opacity=1.000000
|
||||
# inactive_opacity=1.000000
|
||||
rounding=10
|
||||
shadow {
|
||||
color=rgba(00000099)
|
||||
enabled=true
|
||||
range=4
|
||||
render_power=3
|
||||
}
|
||||
}
|
||||
|
||||
dwindle {
|
||||
preserve_split=true
|
||||
pseudotile=true
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling=true
|
||||
}
|
||||
|
||||
general {
|
||||
allow_tearing=false
|
||||
border_size=2
|
||||
col.active_border=rgb(${config.stylix.base16Scheme.palette.base0D})
|
||||
col.inactive_border=rgba(595959aa)
|
||||
gaps_in=5
|
||||
gaps_out=10
|
||||
layout=dwindle
|
||||
resize_on_border=false
|
||||
}
|
||||
|
||||
input {
|
||||
touchpad {
|
||||
natural_scroll=true
|
||||
disable_while_typing=0
|
||||
}
|
||||
|
||||
kb_layout=us
|
||||
}
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo=true
|
||||
force_default_wallpaper=0
|
||||
}
|
||||
|
||||
workspace = 1, monitor:HDMI-A-2
|
||||
workspace = 2, monitor:DP-2
|
||||
monitor = DP-2, 2560x1440@180, 0x0, 1#, bitdepth, 10, cm, hdr
|
||||
#monitor = DP-2, 1920x1080@180, 0x0, 1#, bitdepth, 10, cm, hdr
|
||||
monitor = HDMI-A-2, 1920x1080@60, 2560x0, 1
|
||||
|
||||
bind=$mainMod, Q, exec, $terminal
|
||||
bind=$mainMod, C, killactive
|
||||
bind=$mainMod, M, exit
|
||||
bind=$mainMod, V, togglefloating
|
||||
bind=$mainMod, D, exec, $menu
|
||||
bind=$mainMod, H, exec, $switchThemes
|
||||
bind=$mainMod, P, pseudo
|
||||
bind=$mainMod, T, togglesplit
|
||||
bind=$mainMod, S, exec, $screenshot
|
||||
bind=$mainMod SHIFT, P, exec, $powerMenu
|
||||
bind=$mainMod SHIFT, S, exec, $screenshot
|
||||
bind=$mainMod, F, fullscreen
|
||||
bind=$mainMod, left, movefocus, l
|
||||
bind=$mainMod, right, movefocus, r
|
||||
bind=$mainMod, up, movefocus, u
|
||||
bind=$mainMod, down, movefocus, d
|
||||
bind=$mainMod, H, movefocus, l
|
||||
bind=$mainMod, L, movefocus, r
|
||||
bind=$mainMod, K, movefocus, u
|
||||
bind=$mainMod, J, movefocus, d
|
||||
bind=$mainMod SHIFT, H, movewindow, l
|
||||
bind=$mainMod SHIFT, L, movewindow, r
|
||||
bind=$mainMod SHIFT, K, movewindow, u
|
||||
bind=$mainMod SHIFT, J, movewindow, d
|
||||
bind=$mainMod SHIFT, left, movewindow, l
|
||||
bind=$mainMod SHIFT, right, movewindow, r
|
||||
bind=$mainMod SHIFT, up, movewindow, u
|
||||
bind=$mainMod SHIFT, down, movewindow, d
|
||||
bind=$mainMod, 1, workspace, 1
|
||||
bind=$mainMod, 2, workspace, 2
|
||||
bind=$mainMod, 3, workspace, 3
|
||||
bind=$mainMod, 4, workspace, 4
|
||||
bind=$mainMod, 5, workspace, 5
|
||||
bind=$mainMod, 6, workspace, 6
|
||||
bind=$mainMod, 7, workspace, 7
|
||||
bind=$mainMod, 8, workspace, 8
|
||||
bind=$mainMod, 9, workspace, 9
|
||||
bind=$mainMod, 0, workspace, 10
|
||||
bind=$mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind=$mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind=$mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind=$mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind=$mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind=$mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind=$mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind=$mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind=$mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind=$mainMod SHIFT, 0, movetoworkspace, 10
|
||||
bind=$mainMod, mouse_down, workspace, e+1
|
||||
bind=$mainMod, mouse_up, workspace, e-1
|
||||
bindm=$mainMod, mouse:272, movewindow
|
||||
bindm=$mainMod, mouse:273, resizewindow
|
||||
|
||||
env=XCURSOR_SIZE,24
|
||||
env=HYPRCURSOR_SIZE,24
|
||||
|
||||
exec-once=swww-daemon
|
||||
exec=swww img ${config.stylix.image} -t none
|
||||
exec-once=waybar
|
||||
exec=pkill waybar; waybar
|
||||
|
||||
windowrulev2=suppressevent maximize, class:.*
|
||||
#windowrulev2 = opacity 0.9, class:(com.mitchellh.ghostty)
|
||||
|
||||
layerrule = noanim, selection
|
||||
'';
|
||||
}
|
||||
@@ -12,10 +12,13 @@
|
||||
gimp3-with-plugins
|
||||
grim
|
||||
killall
|
||||
krita
|
||||
lazygit
|
||||
libreoffice
|
||||
libresprite
|
||||
man-pages
|
||||
man-pages-posix
|
||||
obs-studio
|
||||
python3
|
||||
ripgrep
|
||||
rusty-man
|
||||
@@ -23,7 +26,10 @@
|
||||
tor-browser
|
||||
unzip
|
||||
vial
|
||||
virtualboxKvm
|
||||
vlc
|
||||
wl-clipboard
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-wlr
|
||||
];
|
||||
}
|
||||
|
||||
@@ -11,9 +11,6 @@
|
||||
./hyfetch.nix
|
||||
./mako.nix
|
||||
./ncspot.nix
|
||||
./nix-search-tv.nix
|
||||
#./nushell.nix
|
||||
./starship.nix
|
||||
./tmux.nix
|
||||
./vesktop.nix
|
||||
./waybar.nix
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.television.enable = true;
|
||||
programs.nix-search-tv = {
|
||||
enable = true;
|
||||
enableTelevisionIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -1,223 +0,0 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.nix-your-shell ];
|
||||
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
plugins = with pkgs.nushellPlugins; [
|
||||
formats
|
||||
polars
|
||||
gstat
|
||||
query
|
||||
];
|
||||
settings = {
|
||||
show_banner = false;
|
||||
edit_mode = "vi";
|
||||
cursor_shape = {
|
||||
emacs = "line";
|
||||
vi_insert = "line";
|
||||
vi_normal = "block";
|
||||
};
|
||||
};
|
||||
shellAliases = {
|
||||
c = "clear";
|
||||
meow = "_meow";
|
||||
|
||||
hf = "nix flake update --flake ${config.home.homeDirectory}/.config/home-manager";
|
||||
hs = "nh home switch ~/.config/home-manager";
|
||||
hz = "z ~/.config/home-manager";
|
||||
|
||||
nsu = "_nsu";
|
||||
ns = "sudo nixos-rebuild switch";
|
||||
|
||||
se = "sudoedit";
|
||||
v = "nvim";
|
||||
};
|
||||
extraConfig = with config.stylix.base16Scheme.palette; ''
|
||||
def _meow () {
|
||||
clear
|
||||
hyfetch
|
||||
}
|
||||
|
||||
def _nsu () {
|
||||
sudo nix-channel --add https://channels.nixos.org/nixos-unstable nixos
|
||||
sudo nixos-rebuild switch --upgrade
|
||||
}
|
||||
|
||||
def _nix_your_shell (command: string, args: list<string>) {
|
||||
if not (which nix-your-shell | is-empty) {
|
||||
let args = ["--"] ++ $args
|
||||
run-external nix-your-shell nu $command ...$args
|
||||
} else {
|
||||
run-external $command ...$args
|
||||
}
|
||||
}
|
||||
|
||||
def --wrapped nix-shell (...args) {
|
||||
_nix_your_shell nix-shell $args
|
||||
}
|
||||
|
||||
def --wrapped nix (...args) {
|
||||
_nix_your_shell nix $args
|
||||
}
|
||||
|
||||
|
||||
let theme = {
|
||||
base00: "#${base00}"
|
||||
base01: "#${base01}"
|
||||
base02: "#${base02}"
|
||||
base03: "#${base03}"
|
||||
base04: "#${base04}"
|
||||
base05: "#${base05}"
|
||||
base06: "#${base06}"
|
||||
base07: "#${base07}"
|
||||
base08: "#${base08}"
|
||||
base09: "#${base09}"
|
||||
base0A: "#${base0A}"
|
||||
base0B: "#${base0B}"
|
||||
base0C: "#${base0C}"
|
||||
base0D: "#${base0D}"
|
||||
base0E: "#${base0E}"
|
||||
base0F: "#${base0F}"
|
||||
}
|
||||
|
||||
let scheme = {
|
||||
recognized_command: $theme.base0D
|
||||
unrecognized_command: $theme.base08
|
||||
constant: $theme.base09
|
||||
punctuation: $theme.base04
|
||||
operator: $theme.base0C
|
||||
string: $theme.base0B
|
||||
virtual_text: $theme.base04
|
||||
variable: { fg: $theme.base0F attr: i }
|
||||
filepath: $theme.base0A
|
||||
}
|
||||
|
||||
$env.config.color_config = {
|
||||
separator: { fg: $theme.base04 attr: b }
|
||||
leading_trailing_space_bg: { fg: $theme.base07 attr: u }
|
||||
header: { fg: $theme.base05 attr: b }
|
||||
row_index: $scheme.virtual_text
|
||||
record: $theme.base05
|
||||
list: $theme.base05
|
||||
hints: $scheme.virtual_text
|
||||
search_result: { fg: $theme.base00 bg: $theme.base0A }
|
||||
shape_closure: $theme.base0C
|
||||
closure: $theme.base0C
|
||||
shape_flag: { fg: $theme.base08 attr: i }
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_garbage: $theme.base08
|
||||
shape_keyword: $theme.base0E
|
||||
shape_match_pattern: $theme.base0B
|
||||
shape_signature: $theme.base0C
|
||||
shape_table: $scheme.punctuation
|
||||
cell-path: $scheme.punctuation
|
||||
shape_list: $scheme.punctuation
|
||||
shape_record: $scheme.punctuation
|
||||
shape_vardecl: $scheme.variable
|
||||
shape_variable: $scheme.variable
|
||||
empty: { attr: n }
|
||||
filesize: {||
|
||||
if $in < 1kb {
|
||||
$theme.base0C
|
||||
} else if $in < 10kb {
|
||||
$theme.base0B
|
||||
} else if $in < 100kb {
|
||||
$theme.base0A
|
||||
} else if $in < 10mb {
|
||||
$theme.base09
|
||||
} else if $in < 100mb {
|
||||
$theme.base08
|
||||
} else if $in < 1gb {
|
||||
$theme.base08
|
||||
} else {
|
||||
$theme.base0E
|
||||
}
|
||||
}
|
||||
duration: {||
|
||||
if $in < 1day {
|
||||
$theme.base0C
|
||||
} else if $in < 1wk {
|
||||
$theme.base0B
|
||||
} else if $in < 4wk {
|
||||
$theme.base0A
|
||||
} else if $in < 12wk {
|
||||
$theme.base09
|
||||
} else if $in < 24wk {
|
||||
$theme.base08
|
||||
} else if $in < 52wk {
|
||||
$theme.base08
|
||||
} else {
|
||||
$theme.base0E
|
||||
}
|
||||
}
|
||||
date: {|| (date now) - $in |
|
||||
if $in < 1day {
|
||||
$theme.base0C
|
||||
} else if $in < 1wk {
|
||||
$theme.base0B
|
||||
} else if $in < 4wk {
|
||||
$theme.base0A
|
||||
} else if $in < 12wk {
|
||||
$theme.base09
|
||||
} else if $in < 24wk {
|
||||
$theme.base08
|
||||
} else if $in < 52wk {
|
||||
$theme.base08
|
||||
} else {
|
||||
$theme.base0E
|
||||
}
|
||||
}
|
||||
shape_external: $scheme.unrecognized_command
|
||||
shape_internalcall: $scheme.recognized_command
|
||||
shape_external_resolved: $scheme.recognized_command
|
||||
shape_block: $scheme.recognized_command
|
||||
block: $scheme.recognized_command
|
||||
shape_custom: $theme.base0F
|
||||
custom: $theme.base0F
|
||||
background: $theme.base00
|
||||
foreground: $theme.base05
|
||||
cursor: { bg: $theme.base06 fg: $theme.base00 }
|
||||
shape_range: $scheme.operator
|
||||
range: $scheme.operator
|
||||
shape_pipe: $scheme.operator
|
||||
shape_operator: $scheme.operator
|
||||
shape_base08irection: $scheme.operator
|
||||
glob: $scheme.filepath
|
||||
shape_directory: $scheme.filepath
|
||||
shape_filepath: $scheme.filepath
|
||||
shape_glob_interpolation: $scheme.filepath
|
||||
shape_globpattern: $scheme.filepath
|
||||
shape_int: $scheme.constant
|
||||
int: $scheme.constant
|
||||
bool: $scheme.constant
|
||||
float: $scheme.constant
|
||||
nothing: $scheme.constant
|
||||
binary: $scheme.constant
|
||||
shape_nothing: $scheme.constant
|
||||
shape_bool: $scheme.constant
|
||||
shape_float: $scheme.constant
|
||||
shape_binary: $scheme.constant
|
||||
shape_datetime: $scheme.constant
|
||||
shape_literal: $scheme.constant
|
||||
string: $scheme.string
|
||||
shape_string: $scheme.string
|
||||
shape_string_interpolation: $theme.base0F
|
||||
shape_raw_string: $scheme.string
|
||||
shape_externalarg: $scheme.string
|
||||
}
|
||||
$env.config.highlight_resolved_externals = true
|
||||
$env.config.explore = {
|
||||
status_bar_background: { fg: $theme.base05, bg: $theme.base01 },
|
||||
command_bar_text: { fg: $theme.base05 },
|
||||
highlight: { fg: $theme.base00, bg: $theme.base0A },
|
||||
status: {
|
||||
error: $theme.base08,
|
||||
warn: $theme.base0A,
|
||||
info: $theme.base0D,
|
||||
},
|
||||
selected_cell: { bg: $theme.base0D fg: $theme.base00 },
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
./lsp.nix
|
||||
./none-ls.nix
|
||||
];
|
||||
}
|
||||
@@ -1,125 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
lsp = {
|
||||
enable = true;
|
||||
inlayHints = true;
|
||||
servers = {
|
||||
asm_lsp.enable = true;
|
||||
clangd = {
|
||||
enable = true;
|
||||
cmd = [
|
||||
"clangd"
|
||||
];
|
||||
};
|
||||
cssls.enable = true;
|
||||
eslint.enable = true;
|
||||
lua_ls = {
|
||||
enable = true;
|
||||
settings.telemetry.enable = false;
|
||||
};
|
||||
hls = {
|
||||
enable = true;
|
||||
installGhc = true;
|
||||
settings.haskell = {
|
||||
formattingProvider = "fourmolu";
|
||||
};
|
||||
};
|
||||
html.enable = true;
|
||||
jsonls.enable = true;
|
||||
mlir_lsp_server.enable = true;
|
||||
nil_ls.enable = true;
|
||||
nixd.enable = true;
|
||||
nushell.enable = true;
|
||||
ocamllsp.enable = true;
|
||||
pyright.enable = true;
|
||||
ts_ls.enable = true;
|
||||
zls.enable = true;
|
||||
};
|
||||
};
|
||||
cmp-emoji = {
|
||||
enable = true;
|
||||
};
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
autoEnableSources = true;
|
||||
experimental = {
|
||||
ghost_text = true;
|
||||
};
|
||||
performance = {
|
||||
debounce = 60;
|
||||
fetchingTimeout = 200;
|
||||
};
|
||||
snippet = {
|
||||
expand = "luasnip";
|
||||
};
|
||||
formatting = {
|
||||
fields = [
|
||||
"kind"
|
||||
"abbr"
|
||||
"menu"
|
||||
];
|
||||
};
|
||||
sources = [
|
||||
{ name = "nvim_lsp"; }
|
||||
{ name = "emoji"; }
|
||||
|
||||
{
|
||||
name = "buffer"; # text within current buffer
|
||||
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
|
||||
keywordLength = 3;
|
||||
}
|
||||
|
||||
{
|
||||
name = "path"; # file system paths
|
||||
keywordLength = 3;
|
||||
}
|
||||
|
||||
{
|
||||
name = "luasnip"; # snippets
|
||||
keywordLength = 3;
|
||||
}
|
||||
];
|
||||
|
||||
window = {
|
||||
completion.__raw = "cmp.config.window.bordered()";
|
||||
documentation.__raw = "cmp.config.window.bordered()";
|
||||
};
|
||||
|
||||
mapping = {
|
||||
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
"<C-e>" = "cmp.mapping.abort()";
|
||||
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-Space>" = "cmp.mapping.complete()";
|
||||
"<CR>" = "cmp.mapping.confirm({ select = true })";
|
||||
"<S-CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
|
||||
};
|
||||
};
|
||||
};
|
||||
cmp-nvim-lsp = {
|
||||
enable = true;
|
||||
}; # lsp
|
||||
cmp-buffer = {
|
||||
enable = true;
|
||||
};
|
||||
cmp-path = {
|
||||
enable = true;
|
||||
}; # file system paths
|
||||
cmp_luasnip = {
|
||||
enable = true;
|
||||
}; # snippets
|
||||
cmp-cmdline = {
|
||||
enable = false;
|
||||
}; # autocomplete for cmdline
|
||||
luasnip = {
|
||||
enable = true;
|
||||
settings = {
|
||||
enable_autosnippets = true;
|
||||
store_selection_keys = "<Tab>";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
lsp-format.enable = true;
|
||||
none-ls = {
|
||||
enable = true;
|
||||
enableLspFormat = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,433 @@
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.mouse = ""
|
||||
vim.opt.breakindent = true
|
||||
vim.opt.expandtab = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.showtabline = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.wildmenu = true
|
||||
vim.opt.undofile = true
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.shell = "fish"
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.keymap.set("n", "<leader>n", "<cmd>Explore .<cr>", {})
|
||||
|
||||
-- Per nixvim generated configuration
|
||||
vim.diagnostic.config({
|
||||
float = { border = "rounded", source = "always" },
|
||||
virtual_lines = { current_line = true },
|
||||
virtual_text = false,
|
||||
})
|
||||
|
||||
vim.pack.add({
|
||||
"https://github.com/nvim-treesitter/nvim-treesitter",
|
||||
"https://github.com/hrsh7th/nvim-cmp",
|
||||
"https://github.com/hrsh7th/cmp-nvim-lsp",
|
||||
"https://github.com/L3MON4D3/LuaSnip",
|
||||
"https://github.com/hrsh7th/cmp-emoji",
|
||||
"https://github.com/windwp/nvim-autopairs",
|
||||
"https://github.com/lukas-reineke/lsp-format.nvim",
|
||||
"https://github.com/nvimtools/none-ls.nvim",
|
||||
"https://github.com/nvim-lua/plenary.nvim"
|
||||
})
|
||||
|
||||
require("nvim-autopairs").setup({})
|
||||
require("null-ls").setup({ on_attach = require("lsp-format").on_attach })
|
||||
require("lsp-format").setup({})
|
||||
|
||||
local luasnip = require("luasnip")
|
||||
|
||||
local cmp = require("cmp")
|
||||
cmp.setup({
|
||||
autoEnableSources = true,
|
||||
experimental = { ghost_text = true },
|
||||
formatting = { fields = { "kind", "abbr", "menu" } },
|
||||
mapping = {
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<S-Tab>"] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "s" }),
|
||||
["<Tab>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "s" }),
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "emoji" },
|
||||
{ keywordLength = 3, name = "buffer", option = { get_bufnrs = vim.api.nvim_list_bufs } },
|
||||
{ keywordLength = 3, name = "path" },
|
||||
{ keywordLength = 3, name = "luasnip" },
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
})
|
||||
|
||||
vim.lsp.inlay_hint.enable(true)
|
||||
local __lspCapabilities = function()
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
|
||||
capabilities = vim.tbl_deep_extend("force", capabilities, require("cmp_nvim_lsp").default_capabilities())
|
||||
|
||||
return capabilities
|
||||
end
|
||||
|
||||
|
||||
local __setup = { capabilities = __lspCapabilities() }
|
||||
|
||||
local __wrapConfig = function(cfg)
|
||||
if cfg == nil then
|
||||
cfg = __setup
|
||||
else
|
||||
cfg = vim.tbl_extend("keep", cfg, __setup)
|
||||
end
|
||||
return cfg
|
||||
end
|
||||
|
||||
vim.lsp.config("clangd", {cmd = {"clangd"}, filetypes = {"c", "cpp"}})
|
||||
vim.lsp.enable("clangd")
|
||||
vim.lsp.config("hls", { cmd = {"hls"}, filetypes = {"hs"}})
|
||||
vim.lsp.enable("hls")
|
||||
vim.lsp.config("lua_ls", { cmd = {"lua-language-server"}, filetypes = {"lua"}})
|
||||
vim.lsp.enable("lua_ls")
|
||||
vim.lsp.config("nil_ls", { cmd = {"nil"}, filetypes = {"nix"}})
|
||||
vim.lsp.enable("nil_ls")
|
||||
vim.lsp.config("nixd", { cmd = {"nixd"}, filetypes = {"nix"}})
|
||||
vim.lsp.enable("nixd")
|
||||
vim.lsp.config("pyright", {cmd = {"pyright"}, filetypes = {"py"}})
|
||||
vim.lsp.enable("pyright")
|
||||
vim.lsp.config("zls", {cmd = {"zls"}, filetypes = {"zig"}})
|
||||
vim.lsp.enable("zls")
|
||||
|
||||
-- https://github.com/catppuccin/nvim/blob/main/lua/catppuccin/palettes/mocha.lua
|
||||
-- https://github.com/Ronxvier/ymir.nvim/blob/main/lua/ymir/palette.lua
|
||||
local colors = {
|
||||
red = "#f38ba8",
|
||||
orange = "#fab387",
|
||||
green = "#a6e3a1",
|
||||
yellow = "#f9e2af",
|
||||
blue = "#f5c2e7",
|
||||
magenta = "#cba6f7",
|
||||
cyan = "#94e2d5",
|
||||
|
||||
bg = "#11111b",
|
||||
fg = "#cdd6f4",
|
||||
cursorline = "#181825",
|
||||
selection = "#313244",
|
||||
linenr = "#45475a",
|
||||
comment = "#585b70",
|
||||
|
||||
-- Syntax
|
||||
keyword = "#cba6f7",
|
||||
Function = "#cba6f7",
|
||||
string = "#f9e2af",
|
||||
constant = "#cba6f7",
|
||||
type = "#94e2d5",
|
||||
number = "#fab387",
|
||||
boolean = "#fab387",
|
||||
operator = "#cdd6f4",
|
||||
variable = "#cdd6f4",
|
||||
|
||||
-- TODO
|
||||
-- UI
|
||||
cursor = "#f5a97f",
|
||||
visual = "#2e3c55",
|
||||
search = "#f5c2e7",
|
||||
statusline = "#1e293b",
|
||||
menu_bg = "#1a2535",
|
||||
menu_sel = "#3b4252",
|
||||
fold = "#3e4a5a",
|
||||
split = "#334155",
|
||||
|
||||
-- TODO
|
||||
-- Diagnostics
|
||||
diag_error = "#f38ba8",
|
||||
diag_warn = "#fab387",
|
||||
diag_info = "#89dceb",
|
||||
diag_hint = "#b4befe",
|
||||
}
|
||||
|
||||
-- https://github.com/Ronxvier/ymir.nvim/blob/main/lua/ymir/groups.lua
|
||||
local groups = {
|
||||
Normal = { fg = colors.fg, bg = colors.bg },
|
||||
NormalFloat = { fg = colors.fg, bg = colors.bg },
|
||||
Comment = { fg = colors.comment, italic = true },
|
||||
Constant = { fg = colors.constant },
|
||||
String = { fg = colors.string },
|
||||
Character = { fg = colors.string },
|
||||
Number = { fg = colors.number },
|
||||
Boolean = { fg = colors.boolean },
|
||||
Float = { fg = colors.number },
|
||||
FloatBorder = { fg = colors.number },
|
||||
Operator = { fg = colors.operator },
|
||||
Keyword = { fg = colors.keyword },
|
||||
Keywords = { fg = colors.keyword },
|
||||
Identifier = { fg = colors.variable },
|
||||
Function = { fg = colors.Function },
|
||||
Statement = { fg = colors.keyword },
|
||||
Conditional = { fg = colors.keyword },
|
||||
Repeat = { fg = colors.keyword },
|
||||
Label = { fg = colors.keyword },
|
||||
Exception = { fg = colors.keyword },
|
||||
PreProc = { fg = colors.keyword },
|
||||
Include = { fg = colors.keyword },
|
||||
Define = { fg = colors.keyword },
|
||||
Title = { fg = colors.magenta },
|
||||
Macro = { fg = colors.keyword },
|
||||
PreCondit = { fg = colors.yellow },
|
||||
Type = { fg = colors.type, italic = true },
|
||||
StorageClass = { fg = colors.type, italic = true },
|
||||
Structure = { fg = colors.type, italic = true },
|
||||
TypeDef = { fg = colors.type, italic = true },
|
||||
Special = { fg = colors.keyword, italic = true },
|
||||
SpecialComment = { fg = colors.comment, italic = true },
|
||||
Error = { fg = colors.red },
|
||||
Todo = { fg = colors.yellow, bold = true, italic = true },
|
||||
Underlined = { fg = colors.cyan, underline = true },
|
||||
|
||||
Cursor = { fg = colors.cursor },
|
||||
CursorLineNr = { fg = colors.fg, bold = true },
|
||||
|
||||
SignColumn = { bg = colors.bg },
|
||||
|
||||
Conceal = { fg = colors.comment },
|
||||
-- CursorColumn = { bg = colors.selection},
|
||||
CursorLine = { bg = colors.selection },
|
||||
ColorColumn = { bg = colors.selection },
|
||||
|
||||
StatusLine = { fg = colors.statusline, bg = colors.black },
|
||||
StatusLineNC = { fg = colors.comment },
|
||||
StatusLineTerm = { fg = colors.fg, bg = colors.black },
|
||||
StatusLineTermNC = { fg = colors.comment },
|
||||
|
||||
Directory = { fg = colors.cyan },
|
||||
DiffAdd = { fg = colors.bg, bg = colors.green },
|
||||
DiffChange = { fg = colors.orange },
|
||||
DiffDelete = { fg = colors.red },
|
||||
DiffText = { fg = colors.comment },
|
||||
|
||||
ErrorMsg = { fg = colors.red },
|
||||
VertSplit = { fg = colors.fg },
|
||||
WinSeparator = { fg = colors.fg },
|
||||
Folded = { fg = colors.comment },
|
||||
FoldColumn = {},
|
||||
Search = { fg = colors.fg, bg = colors.selection },
|
||||
IncSearch = { fg = colors.fg, bg = colors.selection },
|
||||
LineNr = { fg = colors.comment },
|
||||
MatchParen = { fg = colors.cyan, underline = true },
|
||||
NonText = { fg = colors.comment },
|
||||
Pmenu = { fg = colors.fg, bg = colors.bg },
|
||||
PmenuSel = { fg = colors.bg, bg = colors.fg },
|
||||
PmenuSbar = { bg = colors.bg },
|
||||
PmenuThumb = { bg = colors.bg },
|
||||
|
||||
Question = { fg = colors.magenta },
|
||||
QuickFixLine = { fg = colors.bg, bg = colors.yellow },
|
||||
SpecialKey = { fg = colors.comment },
|
||||
|
||||
SpellBad = { fg = colors.red, underline = true },
|
||||
SpellCap = { fg = colors.yellow },
|
||||
SpellLocal = { fg = colors.yellow },
|
||||
SpellRare = { fg = colors.yellow },
|
||||
|
||||
TabLine = { fg = colors.comment },
|
||||
TabLineSel = { fg = colors.fg },
|
||||
TabLineFill = { bg = colors.bg },
|
||||
Terminal = { fg = colors.fg, bg = colors.black },
|
||||
Visual = { bg = colors.visual },
|
||||
VisualNOS = { fg = colors.visual },
|
||||
WarningMsg = { fg = colors.yellow },
|
||||
WildMenu = { fg = colors.black, bg = colors.white },
|
||||
|
||||
-- TreeSitter
|
||||
["@error"] = { fg = colors.red },
|
||||
["@punctuation.delimiter"] = { fg = colors.fg },
|
||||
["@punctuation.bracket"] = { fg = colors.fg },
|
||||
["@punctuation.special"] = { fg = colors.cyan },
|
||||
|
||||
["@constant"] = { fg = colors.constant },
|
||||
["@constant.builtin"] = { fg = colors.constant },
|
||||
["@symbol"] = { fg = colors.operator },
|
||||
|
||||
["@constant.macro"] = { fg = colors.keyword },
|
||||
["@string.regex"] = { fg = colors.string },
|
||||
["@string"] = { fg = colors.string },
|
||||
["@string.escape"] = { fg = colors.green },
|
||||
["@character"] = { fg = colors.string },
|
||||
["@number"] = { fg = colors.number },
|
||||
["@boolean"] = { fg = colors.boolean },
|
||||
["@float"] = { fg = colors.number },
|
||||
["@annotation"] = { fg = colors.yellow },
|
||||
["@attribute"] = { fg = colors.cyan },
|
||||
["@namespace"] = { fg = colors.cyan },
|
||||
|
||||
["@function.builtin"] = { fg = colors.Function },
|
||||
["@function"] = { fg = colors.Function },
|
||||
["@function.macro"] = { fg = colors.Function },
|
||||
["@parameter"] = { fg = colors.number },
|
||||
["@parameter.reference"] = { fg = colors.number },
|
||||
["@method"] = { fg = colors.number },
|
||||
["@field"] = { fg = colors.number },
|
||||
["@property"] = { fg = colors.type },
|
||||
["@constructor"] = { fg = colors.cyan },
|
||||
|
||||
["@conditional"] = { fg = colors.blue },
|
||||
["@repeat"] = { fg = colors.blue },
|
||||
["@label"] = { fg = colors.cyan },
|
||||
|
||||
["@keyword"] = { fg = colors.keyword },
|
||||
["@keyword.function"] = { fg = colors.Function },
|
||||
["@keyword.function.ruby"] = { fg = colors.Function },
|
||||
--["@keyword.operator"] = { fg = colors.blue },
|
||||
--["@operator"] = { fg = colors.blue },
|
||||
["@exception"] = { fg = colors.magenta },
|
||||
["@type"] = { fg = colors.bright_cyan },
|
||||
["@type.builtin"] = { fg = colors.cyan, italic = true },
|
||||
["@type.qualifier"] = { fg = colors.blue },
|
||||
["@structure"] = { fg = colors.magenta },
|
||||
["@include"] = { fg = colors.blue },
|
||||
|
||||
["@variable"] = { fg = colors.variable },
|
||||
["@variable.builtin"] = { fg = colors.variable },
|
||||
|
||||
["@text"] = { fg = colors.number },
|
||||
["@text.strong"] = { fg = colors.number, bold = true }, -- bold
|
||||
["@text.emphasis"] = { fg = colors.yellow, italic = true }, -- italic
|
||||
["@text.underline"] = { fg = colors.number },
|
||||
["@text.title"] = { fg = colors.blue, bold = true }, -- title
|
||||
["@text.literal"] = { fg = colors.number }, -- inline code
|
||||
["@text.uri"] = { fg = colors.yellow, italic = true, underline = true }, -- urls
|
||||
["@text.reference"] = { fg = colors.number, bold = true },
|
||||
|
||||
["@tag"] = { fg = colors.cyan },
|
||||
["@tag.attribute"] = { fg = colors.number },
|
||||
["@tag.delimiter"] = { fg = colors.blue },
|
||||
|
||||
-- Semantic
|
||||
["@class"] = { fg = colors.cyan },
|
||||
["@struct"] = { fg = colors.cyan },
|
||||
["@enum"] = { fg = colors.cyan },
|
||||
["@enumMember"] = { fg = colors.magenta },
|
||||
["@event"] = { fg = colors.cyan },
|
||||
["@interface"] = { fg = colors.cyan },
|
||||
["@modifier"] = { fg = colors.cyan },
|
||||
["@regexp"] = { fg = colors.yellow },
|
||||
["@typeParameter"] = { fg = colors.cyan },
|
||||
["@decorator"] = { fg = colors.cyan },
|
||||
|
||||
-- LSP Semantic (0.9+)
|
||||
["@lsp.type.class"] = { fg = colors.type },
|
||||
["@lsp.type.enum"] = { fg = colors.type },
|
||||
["@lsp.type.decorator"] = { fg = colors.number },
|
||||
["@lsp.type.enumMember"] = { fg = colors.type },
|
||||
["@lsp.type.function"] = { fg = colors.Function },
|
||||
["@lsp.type.interface"] = { fg = colors.keyword },
|
||||
["@lsp.type.macro"] = { fg = colors.keyword },
|
||||
["@lsp.type.method"] = { fg = colors.keyword },
|
||||
["@lsp.type.namespace"] = { fg = colors.keyword },
|
||||
["@lsp.type.parameter"] = { fg = colors.keyword },
|
||||
["@lsp.type.property"] = { fg = colors.keyword },
|
||||
["@lsp.type.struct"] = { fg = colors.type },
|
||||
["@lsp.type.type"] = { fg = colors.type },
|
||||
["@lsp.type.variable"] = { fg = colors.variable },
|
||||
|
||||
-- HTML
|
||||
htmlArg = { fg = colors.orange },
|
||||
htmlBold = { fg = colors.yellow, bold = true },
|
||||
htmlEndTag = { fg = colors.cyan },
|
||||
htmlH1 = { fg = colors.blue },
|
||||
htmlH2 = { fg = colors.blue },
|
||||
htmlH3 = { fg = colors.blue },
|
||||
htmlH4 = { fg = colors.blue },
|
||||
htmlH5 = { fg = colors.blue },
|
||||
htmlH6 = { fg = colors.blue },
|
||||
htmlItalic = { fg = colors.magenta, italic = true },
|
||||
htmlLink = { fg = colors.magenta, underline = true },
|
||||
htmlSpecialChar = { fg = colors.yellow },
|
||||
htmlSpecialTagName = { fg = colors.cyan },
|
||||
htmlTag = { fg = colors.cyan },
|
||||
htmlTagN = { fg = colors.cyan },
|
||||
htmlTagName = { fg = colors.cyan },
|
||||
htmlTitle = { fg = colors.white },
|
||||
}
|
||||
|
||||
for group, setting in pairs(groups) do
|
||||
vim.api.nvim_set_hl(0, group, setting)
|
||||
end
|
||||
|
||||
-- nixvim stuff
|
||||
do
|
||||
local __nixvim_autogroups = { nixvim_binds_LspAttach = { clear = true }, nixvim_lsp_on_attach = { clear = false } }
|
||||
|
||||
for group_name, options in pairs(__nixvim_autogroups) do
|
||||
vim.api.nvim_create_augroup(group_name, options)
|
||||
end
|
||||
end
|
||||
do
|
||||
local __nixvim_autocommands = {
|
||||
{
|
||||
callback = function(event)
|
||||
do
|
||||
-- client and bufnr are supplied to the builtin `on_attach` callback,
|
||||
-- so make them available in scope for our global `onAttach` impl
|
||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||
local bufnr = event.buf
|
||||
require("lsp-format").on_attach(client, bufnr)
|
||||
end
|
||||
end,
|
||||
desc = "Run LSP onAttach",
|
||||
event = "LspAttach",
|
||||
group = "nixvim_lsp_on_attach",
|
||||
},
|
||||
{
|
||||
callback = function(args)
|
||||
do
|
||||
local __nixvim_binds = {}
|
||||
|
||||
for i, map in ipairs(__nixvim_binds) do
|
||||
local options = vim.tbl_extend("keep", map.options or {}, { buffer = args.buf })
|
||||
vim.keymap.set(map.mode, map.key, map.action, options)
|
||||
end
|
||||
end
|
||||
end,
|
||||
desc = "Load keymaps for LspAttach",
|
||||
event = "LspAttach",
|
||||
group = "nixvim_binds_LspAttach",
|
||||
},
|
||||
{ command = ":set guicursor=a:ver90-blinkon0", event = { "VimLeave" } },
|
||||
}
|
||||
|
||||
for _, autocmd in ipairs(__nixvim_autocommands) do
|
||||
vim.api.nvim_create_autocmd(autocmd.event, {
|
||||
group = autocmd.group,
|
||||
pattern = autocmd.pattern,
|
||||
buffer = autocmd.buffer,
|
||||
desc = autocmd.desc,
|
||||
callback = autocmd.callback,
|
||||
command = autocmd.command,
|
||||
once = autocmd.once,
|
||||
nested = autocmd.nested,
|
||||
})
|
||||
end
|
||||
end
|
||||
-- }}
|
||||
|
||||
-- user-associated plugin config {{{
|
||||
require('mini.base16').setup({
|
||||
palette = {
|
||||
base00 = '#11111b', base01 = '#181825', base02 = '#313244', base03 = '#45475a',
|
||||
base04 = '#585b70', base05 = '#cdd6f4', base06 = '#f5e0dc', base07 = '#b4befe',
|
||||
base08 = '#f38ba8', base09 = '#fab387', base0A = '#f9e2af', base0B = '#a6e3a1',
|
||||
base0C = '#94e2d5', base0D = '#f5c2e7', base0E = '#cba6f7', base0F = '#f2cdcd'
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
-- }}}
|
||||
@@ -1,18 +1,9 @@
|
||||
{ ... }:
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./cmp
|
||||
./plugins
|
||||
|
||||
./keymaps.nix
|
||||
./options.nix
|
||||
];
|
||||
|
||||
programs.nixvim = {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
extraLuaConfig = builtins.readFile ./config.lua;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
colorschemes.catppuccin.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
globals.mapleader = " ";
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>n";
|
||||
action = "<cmd>NvimTreeFindFileToggle<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
"t"
|
||||
];
|
||||
key = "<c-\\>";
|
||||
action = "<cmd>ToggleTerm<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-l>";
|
||||
action = "<cmd>BufferLineCycleNext<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-h>";
|
||||
action = "<cmd>BufferLineCyclePrev<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-j>";
|
||||
action = "<cmd>BufferLineGoToBuffer 1<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
key = "<c-k>";
|
||||
action = "<cmd>BufferLineGoToBuffer -1<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader><leader>";
|
||||
action = "<cmd>Yazi<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>a";
|
||||
action = "<cmd>AerialToggle<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "{";
|
||||
action = "<cmd>AerialPrev<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "}";
|
||||
action = "<cmd>AerialNext<cr>";
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>c";
|
||||
action = ":hori term ";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
autoCmd = [
|
||||
{
|
||||
event = [ "VimLeave" ];
|
||||
command = ":set guicursor=a:ver90-blinkon0";
|
||||
}
|
||||
];
|
||||
diagnostic.settings = {
|
||||
virtual_lines = {
|
||||
current_line = true;
|
||||
};
|
||||
float = {
|
||||
border = "rounded";
|
||||
source = "always";
|
||||
};
|
||||
};
|
||||
opts = {
|
||||
shell = "nu";
|
||||
|
||||
fillchars = "eob: ";
|
||||
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
|
||||
tabstop = 4;
|
||||
softtabstop = 4;
|
||||
showtabline = 4;
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
breakindent = true;
|
||||
|
||||
hlsearch = true;
|
||||
incsearch = true;
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
|
||||
splitbelow = true;
|
||||
splitright = true;
|
||||
|
||||
mouse = "a";
|
||||
|
||||
updatetime = 50;
|
||||
|
||||
swapfile = false;
|
||||
backup = false;
|
||||
undofile = true;
|
||||
|
||||
scrolloff = 10;
|
||||
|
||||
cursorline = true;
|
||||
|
||||
wildmenu = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.codesnap = {
|
||||
enable = true;
|
||||
settings = {
|
||||
has_line_number = true;
|
||||
bg_theme = "grape";
|
||||
watermark = "";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./codesnap.nix
|
||||
./emmet.nix
|
||||
./rustaceanvim.nix
|
||||
./telescope.nix
|
||||
./toggleterm.nix
|
||||
./treesitter.nix
|
||||
];
|
||||
|
||||
programs.nixvim.plugins = {
|
||||
aerial.enable = true;
|
||||
bufferline.enable = true;
|
||||
colorizer.enable = true;
|
||||
comment.enable = true;
|
||||
crates.enable = true;
|
||||
fidget.enable = true;
|
||||
lazygit.enable = true;
|
||||
lsp-lines.enable = true;
|
||||
lualine.enable = true;
|
||||
nvim-tree.enable = true;
|
||||
nvim-autopairs.enable = true;
|
||||
quickmath.enable = true;
|
||||
rainbow.enable = true;
|
||||
render-markdown.enable = true;
|
||||
treesj.enable = true;
|
||||
ts-autotag.enable = true;
|
||||
visual-multi.enable = true;
|
||||
web-devicons.enable = true;
|
||||
yazi.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.emmet = {
|
||||
enable = true;
|
||||
settings.leader = "<C-Y>";
|
||||
settings.mode = "a";
|
||||
};
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.rustaceanvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
tools.enable_clippy = true;
|
||||
server = {
|
||||
default_settings = {
|
||||
inlayHints = {
|
||||
lifetimeElisionHints = {
|
||||
enable = "always";
|
||||
};
|
||||
};
|
||||
rust-analyzer = {
|
||||
cargo = {
|
||||
allFeatures = true;
|
||||
};
|
||||
check = {
|
||||
command = "clippy";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.telescope = {
|
||||
enable = true;
|
||||
extensions = {
|
||||
# file-browser.enable = true;
|
||||
fzf-native.enable = true;
|
||||
# media-files.enable = true;
|
||||
};
|
||||
settings = {
|
||||
pickers.colorscheme.enable_preview = true;
|
||||
|
||||
defaults = {
|
||||
layout_config = {
|
||||
horizontal = {
|
||||
prompt_position = "bottom";
|
||||
};
|
||||
};
|
||||
sorting_strategy = "descending";
|
||||
};
|
||||
};
|
||||
keymaps = {
|
||||
# "<leader><space>" = {
|
||||
# action = "find_files";
|
||||
# options.desc = "Find Project Files";
|
||||
# };
|
||||
"<leader>f" = {
|
||||
action = "live_grep";
|
||||
options.desc = "Find Text";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.toggleterm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
direction = "horizontal";
|
||||
float_opts = {
|
||||
border = "curved";
|
||||
};
|
||||
shell = "nu";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.treesitter = {
|
||||
enable = true;
|
||||
settings = {
|
||||
auto_install = true;
|
||||
highlight.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -8,5 +8,6 @@
|
||||
home.packages = [
|
||||
pkgs.rofi-power-menu
|
||||
pkgs.rofi
|
||||
pkgs.rofimoji
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.starship = {
|
||||
#enable = true;
|
||||
};
|
||||
}
|
||||
@@ -112,6 +112,12 @@ in
|
||||
|
||||
# uBlock Origin:
|
||||
"uBlock0@raymondhill.net"
|
||||
|
||||
# Shinigami Eyes
|
||||
"shinigamieyes@shinigamieyes"
|
||||
|
||||
# Hide shorts for Youtube
|
||||
"{88ebde3a-4581-4c6b-8019-2a05a9e3e938}"
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.base16.nixosModule
|
||||
|
||||
./stylix.nix
|
||||
./dwl/dwl.nix
|
||||
@@ -46,17 +47,6 @@
|
||||
|
||||
services.gnome.glib-networking.enable = true;
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# services.displayManager.sddm = {
|
||||
# enable = true;
|
||||
# theme = "catppuccin-mocha-mauve";
|
||||
# wayland.enable = true;
|
||||
# package = pkgs.kdePackages.sddm;
|
||||
# };
|
||||
|
||||
services.displayManager.ly = {
|
||||
enable = true;
|
||||
};
|
||||
@@ -65,16 +55,28 @@
|
||||
enable = true;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
config.sway = {
|
||||
default = [ "gtk" ];
|
||||
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
|
||||
"org.freedesktop.impl.portal.ScreenCast" = [ "wlr" ];
|
||||
"org.freedesktop.impl.portal.ScreenShot" = [ "wlr" ];
|
||||
"org.freedesktop.impl.portal.Inhibit" = [ ];
|
||||
};
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
wlr.enable = true;
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
services.pulseaudio.enable = false;
|
||||
@@ -120,6 +122,7 @@
|
||||
fontSize = "12";
|
||||
})
|
||||
wget
|
||||
ntfs3g
|
||||
];
|
||||
|
||||
fonts = {
|
||||
@@ -142,9 +145,9 @@
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
BROWSER = "zen";
|
||||
SUDO_EDITOR = "nvim";
|
||||
SHELL = "nu";
|
||||
BROWSER = "zen";
|
||||
SHELL = "fish";
|
||||
};
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
|
||||
@@ -75,10 +75,13 @@ static const Rule rules[] = {
|
||||
static const Layout layouts[] = {
|
||||
/* symbol arrange function */
|
||||
{ "[]=", tile },
|
||||
{ "|w|", btrtile },
|
||||
{ "><>", NULL }, /* no layout function means floating behavior */
|
||||
{ "[M]", monocle },
|
||||
};
|
||||
|
||||
#define CONFIG_BTRTILE_LAYOUT &layouts[1]
|
||||
|
||||
/* monitors */
|
||||
/* (x=-1, y=-1) is reserved as an "autoconfigure" monitor position indicator
|
||||
* WARNING: negative values other than (-1, -1) cause problems with Xwayland clients
|
||||
@@ -93,16 +96,22 @@ static const MonitorRule monrules[] = {
|
||||
/* defaults */
|
||||
|
||||
// https://codeberg.org/dwl/dwl-patches/src/branch/main/patches/monitorconfig/monitorconfig.patch
|
||||
{ "DP-2", 0.55f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1, 2560, 1440, 180.0f, 0, 1},
|
||||
{ "HDMI-A-2", 0.55f, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1, 1920, 1080, 60.0f, 0, 1},
|
||||
{ "DP-2", 0.55f, 1, 1, CONFIG_BTRTILE_LAYOUT, WL_OUTPUT_TRANSFORM_NORMAL, -1, -1, 2560, 1440, 180.0f, 0, 1},
|
||||
{ "HDMI-A-2", 0.55f, 1, 1, CONFIG_BTRTILE_LAYOUT, WL_OUTPUT_TRANSFORM_NORMAL, -1, -1, 1920, 1080, 60.0f, 0, 1},
|
||||
};
|
||||
|
||||
// https://codeberg.org/dwl/dwl-patches/raw/branch/main/patches/autostart/autostart.patch
|
||||
static const char *const autostart[] = {
|
||||
// Set the resolution
|
||||
"wlr-randr", "--output", "DP-2", "--mode", "2560x1440@180Hz", NULL,
|
||||
// Start the wallpaper daemon
|
||||
"swww-daemon", NULL,
|
||||
// Include the wallpaper
|
||||
"swww", "img", WALLPAPER, "-t", "none", NULL,
|
||||
// Start waybar
|
||||
"waybar", NULL,
|
||||
// Needed for screencasting
|
||||
"dbus-update-activation-environment", "--systemd", "WAYLAND_DISPLAY", "XDG_CURRENT_DESKTOP=sway", NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
@@ -177,6 +186,7 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA
|
||||
static const char *termcmd[] = { "ghostty", NULL };
|
||||
static const char *menucmd[] = { "rofi", "-show", "drun", NULL };
|
||||
static const char *powrcmd[] = { "rofi", "-show", "pm", "-modi", "pm:rofi-power-menu", "--choices", "suspend/reboot/shutdown", NULL };
|
||||
static const char *emjicmd[] = { "rofimoji", "--action", "copy", NULL };
|
||||
static const char *scshcmd[] = { "gscreenshot", "-c", "-s", NULL };
|
||||
static const char *brsrcmd[] = { "zen-beta", NULL };
|
||||
|
||||
@@ -186,6 +196,7 @@ static const Key keys[] = {
|
||||
{ MODKEY, XKB_KEY_d, spawn, {.v = menucmd} },
|
||||
{ MODKEY, XKB_KEY_q, spawn, {.v = termcmd} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_P, spawn, {.v = powrcmd} },
|
||||
{ MODKEY, XKB_KEY_e, spawn, {.v = emjicmd} },
|
||||
{ MODKEY, XKB_KEY_s, spawn, {.v = scshcmd} },
|
||||
{ MODKEY, XKB_KEY_w, spawn, {.v = brsrcmd} },
|
||||
|
||||
@@ -214,7 +225,7 @@ static const Key keys[] = {
|
||||
|
||||
{ MODKEY, XKB_KEY_Return, zoom, {0} },
|
||||
{ MODKEY, XKB_KEY_c, killclient, {0} },
|
||||
{ MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} },
|
||||
// { MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} },
|
||||
{ MODKEY, XKB_KEY_v, togglefloating, {0} },
|
||||
{ MODKEY, XKB_KEY_f, togglefullscreen, {0} },
|
||||
TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0),
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
environment.systemPackages = [
|
||||
pkgs.gscreenshot
|
||||
pkgs.wlr-randr
|
||||
pkgs.swww
|
||||
];
|
||||
programs.dwl = {
|
||||
enable = true;
|
||||
|
||||
@@ -4,11 +4,4 @@
|
||||
./hardware-configuration.nix
|
||||
../common/configuration.nix
|
||||
];
|
||||
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
useOSProber = true;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user