[feat] Finalize hyprland config and add pkgs.nixpkgs-fmt

This commit is contained in:
Uttarayan
2024-02-14 22:35:19 +05:30
parent 8df56b55d3
commit 69a1b48822
7 changed files with 282 additions and 25 deletions

View File

@@ -30,7 +30,6 @@ env = QT_QPA_PLATFORM,wayland
# exec-once = waybar & hyprpaper & firefox
exec-once = swayosd
exec-once = swww init; swww img ~/.local/share/dotfiles/images/wallpaper.jpg
exec-once = swaync
exec-once = ironbar
exec-once = nextcloud --background
exec-once = /usr/lib/polkit-kde-authentication-agent-1

View File

@@ -12,6 +12,7 @@
# Include the results of the hardware scan.
./tmux.nix
./wezterm.nix
./hyprland.nix
];
programs = {
@@ -87,10 +88,10 @@
main = {
shell = "${pkgs.fish.outPath}/bin/fish";
font = "Hasklug Nerd Font Mono:size=13";
initial-window-size-pixels="1440x800";
};
colors = {
foreground = "f8f8f2";
initial-window-size-pixels="1440x800";
background=000000;
alpha=0.8;
@@ -122,6 +123,7 @@
home.packages = [
pkgs.macchina
pkgs.nixpkgs-fmt
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
@@ -157,7 +159,13 @@
EDITOR = "nvim";
SHELL = "${pkgs.fish.outPath}/bin/fish";
};
home.sessionPath = [
"${config.home.homeDirectory}/.local/bin"
"${config.home.homeDirectory}/.nix-profile/bin"
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.home-manager = {
enable = true;
};
}

227
config/nix/hyprland.nix Normal file
View File

@@ -0,0 +1,227 @@
{ pkgs, ... }: {
wayland.windowManager.hyprland = {
enable = true;
settings = {
monitor = [
",preferred,auto,auto"
"DP-1, 2560x1440@170, 0x0, 1, transform, 0"
"HDMI-A-2, 2560x1440@144, -1440x-800,1, transform, 1"
",highrr,auto,1"
];
input = {
kb_layout = "us";
# kb_variant = "";
# kb_model = "";
kb_options = "ctrl:nocaps";
# kb_rules = "";
follow_mouse = 1;
touchpad = {
natural_scroll = true;
tap-to-click = true;
disable_while_typing = true;
};
};
general = {
gaps_in = 5;
gaps_out = 20;
border_size = 2;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
};
decoration = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10;
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
# col.shadow = "rgba(1a1a1aee)";
blur = {
enabled = true;
size = 3;
passes = 1;
};
};
animations = {
enabled = true;
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
dwindle = {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true; # you probably want this
};
master = {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true;
};
gestures = {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false;
};
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
"device:epic-mouse-v1" = {
sensitivity = -0.5;
};
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = [
"float, title:^(Steam)$"
"float, title:^(Archetype.*)$"
];
"misc:vfr" = true;
env = [
"XCURSOR_SIZE,24"
"XDG_SESSION_TYPE,wayland"
"MOZ_ENABLE_WAYLAND,1"
"QT_QPA_PLATFORM,wayland"
];
exec-once = [
"swayosd"
"swww init; swww img ~/.local/share/dotfiles/images/wallpaper.jpg"
"ironbar"
"nextcloud --background"
"/usr/lib/polkit-kde-authentication-agent-1"
"/usr/local/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland --start-minimized"
"/usr/lib/kdeconnectd"
"aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log"
];
"$mainMod" = "SUPER";
"$mainModShift" = "SUPER_SHIFT";
bind = [
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
"$mainMod, Return, exec, foot"
"$mainModShift, Return, exec, wezterm"
"$mainModShift, Q, killactive,"
# "$mainMod, M, exit,"
"$mainMod, t, togglefloating,"
"$mainMod, f, fullscreen,"
"$mainMod, d, exec, anyrun"
"$mainMod, Space, exec, anyrun"
"$mainMod, p, pseudo, # dwindle"
"$mainMod, v, togglesplit, # dwindle"
"$mainMod, a, exec, swaync-client -t"
"$mainMod, Tab, cyclenext"
# Audio
",xf86audioraisevolume, exec, swayosd --output-volume raise"
",xf86audiolowervolume, exec, swayosd --output-volume lower"
",xf86audiomute, exec, swayosd --output-volume mute-toggle"
",xf86audioprev, exec, /home/fs0c131y/.cargo/bin/mctl prev"
",xf86audionext, exec, /home/fs0c131y/.cargo/bin/mctl next"
",xf86audioplay, exec, /home/fs0c131y/.cargo/bin/mctl toggle"
# Screenshot
# "$mainMod,Print, exec, grim"
# "$mainModShift,Print, exec, grim -g "$(slurp)""
"$mainModShift,s, exec, watershot"
# Move focus with mainMod + arrow keys
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
"$mainMod, h, movefocus, l"
"$mainMod, j, movefocus, d"
"$mainMod, k, movefocus, u"
"$mainMod, l, movefocus, r"
"$mainModShift, h, movewindow, l"
"$mainModShift, j, movewindow, d"
"$mainModShift, k, movewindow, u"
"$mainModShift, l, movewindow, r"
# Switch workspaces with mainMod + [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 active window to a workspace with mainMod + 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 existing workspaces with mainMod + scroll
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod, Tab, cyclenext, bind = ALT, Tab, bringactivetotop,"
];
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
workspace = [
"1, monitor:DP-1"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:DP-1"
"8, monitor:HDMI-A-2"
"9, monitor:HDMI-A-2"
"10, monitor:HDMI-A-2"
];
};
};
}

View File

@@ -19,6 +19,7 @@ in
terminal = "tmux-256color";
prefix = "C-q";
historyLimit = 100000;
keyMode = "vi";
plugins = with pkgs;
[
tmuxPlugins.better-mouse-mode
@@ -45,13 +46,19 @@ in
extraConfig = ''
set -gw mode-keys vi
set -g status-keys vi
set -g allow-passthrough on
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
set -g allow-passthrough on
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM
bind C-n next-window
bind C-p previous-window
bind C-q last-window
if-shell 'uname | grep -q "Darwin"' { set -s copy-command "pbcopy" }
if-shell 'uname | grep -q "Linux"' { set -s copy-command "wl-copy" }
'';

View File

@@ -1,5 +1,5 @@
{
"LuaSnip": { "branch": "master", "commit": "2dbef19461198630b3d7c39f414d09fb07d1fdd2" },
"LuaSnip": { "branch": "master", "commit": "04266a90ff213367c4159d78f3a60aa03d23ef8a" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-git": { "branch": "main", "commit": "8d8993680d627c8f13bd85094eba84604107dbdd" },
@@ -8,53 +8,53 @@
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"comfortable-motion.vim": { "branch": "master", "commit": "e20aeafb07c6184727b29f7674530150f7ab2036" },
"copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" },
"copilot.lua": { "branch": "master", "commit": "71382c2efec76647287d46a4fbe0ec8c9809e2ee" },
"copilot.lua": { "branch": "master", "commit": "03f825956ec49e550d07875d867ea6e7c4dc8c00" },
"d2-vim": { "branch": "master", "commit": "981c87dccb63df2887cc41b96e84bf550f736c57" },
"diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" },
"fidget.nvim": { "branch": "main", "commit": "1d1042d418ee8cb70d68f1e38db639844331c093" },
"fidget.nvim": { "branch": "main", "commit": "ad8873c16faa123fe3f9fd6539c41dfb0f97a9e9" },
"formatter.nvim": { "branch": "master", "commit": "cb4778b8432f1ae86dae4634c0b611cb269a4c2f" },
"galaxyline.nvim": { "branch": "main", "commit": "4d4f5fc8e20a10824117e5beea7ec6e445466a8f" },
"git-conflict.nvim": { "branch": "main", "commit": "4c8e252b87d54d944c1e56bfb477f78b6fdaf661" },
"glow.nvim": { "branch": "main", "commit": "238070a686c1da3bccccf1079700eb4b5e19aea4" },
"indent-blankline.nvim": { "branch": "master", "commit": "12e92044d313c54c438bd786d11684c88f6f78cd" },
"indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" },
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
"lazygit.nvim": { "branch": "main", "commit": "1e08e3f5ac1152339690140e61a4a32b3bdc7de5" },
"lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" },
"lspsaga.nvim": { "branch": "main", "commit": "2198c07124bef27ef81335be511c8abfd75db933" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "2b3d247fce06f53934174f5dfe0362c42d65c00c" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "fe4cce44dec93c69be17dad79b21de867dde118a" },
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
"mini.nvim": { "branch": "main", "commit": "b5645ac6eefce8e7af9d7dd4e5e296a81cba8a10" },
"neorg": { "branch": "main", "commit": "e6d89d333aff65a771a98955fac9fc178345c01c" },
"no-neck-pain.nvim": { "branch": "main", "commit": "fc3cc9012d9720aca3203702447caa59bd93f1a6" },
"neorg": { "branch": "main", "commit": "bd12dacc9cf561cbffc8d6f8f4b76aa9d734665b" },
"no-neck-pain.nvim": { "branch": "main", "commit": "7ab539aaa083e92ef438d4cdc0261d8661916f1d" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
"nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" },
"nvim-dap": { "branch": "master", "commit": "9adbfdca13afbe646d09a8d7a86d5d031fb9c5a5" },
"nvim-dap": { "branch": "master", "commit": "3b4bdea2c0e9ed356d8cffbf974f3d0af891bbea" },
"nvim-dap-ui": { "branch": "master", "commit": "d845ebd798ad1cf30aa4abd4c4eff795cdcfdd4f" },
"nvim-lspconfig": { "branch": "master", "commit": "ac530dfb97e51d82e3b0a7cddbf7a4a7c4c10ff8" },
"nvim-lspconfig": { "branch": "master", "commit": "c656fe5a58b9eae474f61d294648a897d53639cc" },
"nvim-nu": { "branch": "main", "commit": "f45f36a97fb0ea6e39f08cc2fac7a2fb3dc3999b" },
"nvim-treesitter": { "branch": "master", "commit": "95125827758ee49a398cce05750dc9563ee3a23d" },
"nvim-treesitter-context": { "branch": "master", "commit": "9c06b115abc57c99cf0aa81dc29490f5001f57a1" },
"nvim-web-devicons": { "branch": "master", "commit": "aaec87dbdaa776bfa0a13c8694bec9bcb7454719" },
"octo.nvim": { "branch": "master", "commit": "f8db415529f0a28f62484e49e3518b48e2b76644" },
"nvim-treesitter": { "branch": "master", "commit": "5a5cabd712b8bd14768c72034479fb9cd176beb6" },
"nvim-treesitter-context": { "branch": "master", "commit": "f33905bf5aec67e59a14d2cc0e67d80ac5aa5bd8" },
"nvim-web-devicons": { "branch": "master", "commit": "7f30f2da3c3641841ceb0e2c150281f624445e8f" },
"octo.nvim": { "branch": "master", "commit": "0d0abffed42b0e77aff286279fb7c958f1f79ce6" },
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"rest.nvim": { "branch": "main", "commit": "2d7bd3d398940ce2692941e6cd052c072207b9f9" },
"rest.nvim": { "branch": "main", "commit": "9741f827bd88b588e5136d67c7963e1904f8f1f7" },
"ron.vim": { "branch": "master", "commit": "f749e543975a82e8dd9a6e7df9600a1c098ae800" },
"rustaceanvim": { "branch": "master", "commit": "bc8c4b8f7606d5b7c067cd8369e25c1a7ff77bd0" },
"sonokai": { "branch": "master", "commit": "42822f8f9b3a5088f05cf72a0aa1477598ad1a40" },
"sonokai": { "branch": "master", "commit": "a62656a798043f3c6b603efa98d4de2da89c72b2" },
"ssr.nvim": { "branch": "main", "commit": "bb323ba621ac647b4ac5638b47666e3ef3c279e1" },
"suda.vim": { "branch": "master", "commit": "8b0fc3711760195aba104e2d190cff9af8267052" },
"symbols-outline.nvim": { "branch": "master", "commit": "564ee65dfc9024bdde73a6621820866987cbb256" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "7b5c5f56a21e82fdcfe5b250278b8dfc4b1cbab4" },
"telescope.nvim": { "branch": "master", "commit": "eb88dc6434194bd8eebfcc6ade5dd36e850849ce" },
"todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" },
"toggleterm.nvim": { "branch": "main", "commit": "b49df5cdce67a8964d1b027dae94bde212092b51" },
"toggleterm.nvim": { "branch": "main", "commit": "193786e0371e3286d3bc9aa0079da1cd41beaa62" },
"tree-sitter-just": { "branch": "main", "commit": "4f5d53b52a65771f9695df3f1a294d5c80b916fb" },
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
"vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" },
"vim-commentary": { "branch": "master", "commit": "f67e3e67ea516755005e6cccb178bc8439c6d402" },
"vim-fugitive": { "branch": "master", "commit": "f116dcc8e21021e6fbfb6b0a9f8f7b9566d933f4" },
"vim-fugitive": { "branch": "master", "commit": "011cf4fcb93a9649ffc6dcdff56ef948f5d0f7cc" },
"vim-mergetool": { "branch": "master", "commit": "0275a85256ad173e3cde586d54f66566c01b607f" },
"vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" },
"vim-speeddating": { "branch": "master", "commit": "5a36fd29df63ea3f65562bd2bb837be48a5ec90b" },

View File

@@ -34,5 +34,17 @@ require("mason-lspconfig").setup_handlers {
root_dir = lspconfig.util.root_pattern("compile_commands.json", "compile_flags.txt", ".git"),
single_file_support = true,
}
end,
['nil_ls'] = function()
lspconfig.nil_ls.setup {
capabilities = capabilities,
settings = {
['nil'] = {
formatting = {
command = { "nixpkgs-fmt" },
}
}
}
};
end
}

View File

@@ -26,7 +26,11 @@ return require('lazy').setup({
"Glow"
},
'samoshkin/vim-mergetool',
'mhartington/formatter.nvim',
{
cmd = { "Format", "FormatWrite" },
'mhartington/formatter.nvim'
},
-- 'christianrondeau/vim-base64',
{ 'tpope/vim-commentary', lazy = false },