diff --git a/.sops.yaml b/.sops.yaml index ee06b0a..897056c 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,5 +1,5 @@ keys: - - &master age1fczq47wpa2wpm9ejy85qw3axw2c9v0f4qrywv5amnuqsjc87ws6qx75pfr + - &master age1hunzh8g6qs0yztln5q4akxvepd667xky4lkff4jga57kzah69ujqvpd7kt - &host_mars age1epkfxmjk0tlne8rmxqq77u06q3lnf5xfjcrwq42nuasswefndyfscw84cy - &user_shorty age1hy523tlslqas8qgs0lxgxanp9gx06fjekn608w4qf66mxkjzmucqh0g6vg creation_rules: diff --git a/hosts/luna/users/shorty/default.nix b/hosts/luna/users/shorty/default.nix index 63b3e30..50b6b08 100644 --- a/hosts/luna/users/shorty/default.nix +++ b/hosts/luna/users/shorty/default.nix @@ -28,6 +28,7 @@ with lib; scanmem ]; + alacritty.enable = true; bluetui.enable = true; brightnessctl.enable = true; dunst.enable = true; diff --git a/hosts/mars/users/shorty/default.nix b/hosts/mars/users/shorty/default.nix index 1f04288..18b4106 100644 --- a/hosts/mars/users/shorty/default.nix +++ b/hosts/mars/users/shorty/default.nix @@ -11,6 +11,7 @@ with lib; nix-prefetch-git ]; + alacritty.enable = true; docker.enable = true; eza.enable = true; feh = { @@ -23,6 +24,7 @@ with lib; openssh.enable = true; rclone.enable = true; sops.enable = true; + stylix.enable = true; yazi.enable = true; zellij.enable = true; zsh.enable = true; diff --git a/hosts/shared/default.nix b/hosts/shared/default.nix index 9bd2a5a..b0456ee 100644 --- a/hosts/shared/default.nix +++ b/hosts/shared/default.nix @@ -46,13 +46,4 @@ with lib; zip ]; }; - - programs = { - alacritty = { - enable = true; - settings = { - font.offset.y = 8; - }; - }; - }; } diff --git a/hosts/shared/secrets/openrouter_api_key b/hosts/shared/secrets/openrouter_api_key index 8d47fff..853502c 100644 --- a/hosts/shared/secrets/openrouter_api_key +++ b/hosts/shared/secrets/openrouter_api_key @@ -3,16 +3,16 @@ "sops": { "age": [ { - "recipient": "age1fczq47wpa2wpm9ejy85qw3axw2c9v0f4qrywv5amnuqsjc87ws6qx75pfr", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArcnppbEtic29jMWRYWWRk\nSDkrdnd2VUthMlFNOHFTYmFFRjYwTkZLK0UwCkVLdmt3NFFjQVB1U096STd0UmVn\nT2FyNVhlLzdHNG5lMktVTlRNS1FjZU0KLS0tIFE1UU9zNFZlcHVEdTJ0dEdIa3hh\nZHBXS0tPMnBhVnpJQlJaU3lBODR5Uk0KMGRp7RvRgMlARbQJ+R6eGwS0JmpV3lHD\nrroOoBT2iac//VJGRwGBvHy8YIuA02Begu0GDGNjcfO6UPURmsCr+Q==\n-----END AGE ENCRYPTED FILE-----\n" + "recipient": "age1hunzh8g6qs0yztln5q4akxvepd667xky4lkff4jga57kzah69ujqvpd7kt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRdUxtd0lTcCtYVUwvQzZN\nSndsb0hGN3Jta3V0Rmp2OUk5ZUJHcGRsRG53Cmp0RkJRZytVZjZ3cDR0SFczTGMv\nMzB2b2xsWUxKck1pQUtabmhTNFdEb0UKLS0tIGpGUm54aE1vZWs2UnhENXUyWDgr\nMzdVNjRXYkNRMXJ6VEdEZjNTenJqeEUKc6SG6nMbf9kWOKoTFjkb746pgQMiVXNF\n0SAAMIT9TOnLjsN6J6/e0LFpboxKq/uv0ghfA5CGTQexhwZbFIItAA==\n-----END AGE ENCRYPTED FILE-----\n" }, { "recipient": "age1epkfxmjk0tlne8rmxqq77u06q3lnf5xfjcrwq42nuasswefndyfscw84cy", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIb3lxS0pTMkpQS3QxN3E3\nNXdDZ0lUWkxxVjhNWmUvTW13Q0ZNa0wxaGtvCk1aVkd1VW9UMWFacVRxNWJRMVA1\nZ2pyTEQ2dldkdG9MOUkzakhCYU5yczAKLS0tIGVZRVV4bWpicG9sZ0pZdUF2a3lo\nMkFnS25vRTJPcElkUzEvejdES0l0SU0KK3ajTZTQoOCq9mH9Qw9ojorSMwbZbjgH\nz6VguqunOyaupgk/Bz/E3iuQi7hBIixVOnaNrcDokEs3q3tn8KhzaQ==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIMnpzUjhuemVjbURlQ2k0\naUcxbkRzNVA3SnVVT2ZWbjgzcFpwTDhhb3lrCm9Fa1VtUzQzWEQybXZOOHZpT2Fh\nV2pVWXNUZDdjNzNvSzBBK0U1em56cmMKLS0tIFY3eGNYMnUzWmJGZ0VLeXY3ZEdu\nUUdmVWQwZUFvaWxud0FsWGFncCtPWTgKD32D6fun2Do5cIlJAsZCbQdcahCUaxzi\nyFlJuK1uoVuszANehfXGwNvskPc2IhFDS7HkY4LkyICVwzmDIVO70g==\n-----END AGE ENCRYPTED FILE-----\n" }, { "recipient": "age1hy523tlslqas8qgs0lxgxanp9gx06fjekn608w4qf66mxkjzmucqh0g6vg", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyQVZsTnIrTjNzVmJTYW42\nTFVZbGRwWTA1ZVNaRUx1Q3prZnVIRk80NmpZCmRYa1p1RitJRzd4TjNldHFFVDk5\nUVpkaE00SDcxQW4yUXc0RHVDeWtiSjgKLS0tIHRHMkc2VnFTZThHTGgzdEZ3VTkw\ndFRmNVM1VUZ6U3RRZDlraDNMZXJQVGcKM4mdeIV9PSJO5WemQkkswrW31vIDi1uA\nOMr9xnmLSHACacJjCsiiPISdMZu0qVVNBl/DCoJZVJEi5d6u5I++qw==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWOFZneFdjeklraHlPdVdR\neFltVWh4UVlQTUhTMDVCN3pOVWZqcHk0QndZClJnRnQ0RlR5NUFvUW00R1ZGeGVN\ndVJiTDhKM2grSy9NOFI1bmIrTVFaWVkKLS0tIFFVOXllc3MzanMyeXJmSDdvNVVi\nbzY2SlhOeEhDei8vTjR5UTdCVWpLN00KLBnF2fSnEetO99rz0cwQOMWYg8pFpxHh\nrNES3yMfTBuXUXs+do+U7sOtCVFeVupGiCiFaQksaQ+TcSsHEQ+i2w==\n-----END AGE ENCRYPTED FILE-----\n" } ], "lastmodified": "2025-02-18T10:54:37Z", diff --git a/hosts/shared/secrets/rclone.conf b/hosts/shared/secrets/rclone.conf index 34499ae..065dba7 100644 --- a/hosts/shared/secrets/rclone.conf +++ b/hosts/shared/secrets/rclone.conf @@ -3,16 +3,16 @@ "sops": { "age": [ { - "recipient": "age1fczq47wpa2wpm9ejy85qw3axw2c9v0f4qrywv5amnuqsjc87ws6qx75pfr", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZNWlseGRWcmZiUUVueVpD\nODB0cHRhUnNUR3BFek9VZHZhZnV3MHVmR1RRCmxoVVFFc1AzODVhWlY3SzBvZ3Ay\naUV0dVJ2RDVQaWc4Zlg1enlPbHFLL0UKLS0tIEtoaE45SG9lVlJmWm5lWlM4YVFB\naUZMcTdvbDlHK2RYQWlTNWlkNHZTSm8K15frHfBMPXhiHN9r91d4h6WUJLPrU9+F\nv3NBJ84Dhl/VRRthJyXSg3LTMI9eN5Rq9VtzLO8Ye3GCiSBeyaUH0Q==\n-----END AGE ENCRYPTED FILE-----\n" + "recipient": "age1hunzh8g6qs0yztln5q4akxvepd667xky4lkff4jga57kzah69ujqvpd7kt", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZNmdVL2pUb01VOVFDQ0dp\nZE8vQzEzT2w5S3VNRUtBbithUDdrcGEyaUFBCitiWnZ0RkhYenhzNURuNzJ2N1kx\neXZsK081RzBSbWhZR096NGhFRCtaMk0KLS0tIGFsNnZDVktHYjM5azczM3oyWUdn\nazNZSkJDVTcrK0Z2OUNCMHdRME1BeUkKpI4XhCCX1P/h0dqHi2OYmZA7Zcr/zRpB\nIP97L/OPlQlmfrbsznqNCtwMNYZ7lwv+FJRXU4XohqKgZ5IRrOAg/A==\n-----END AGE ENCRYPTED FILE-----\n" }, { "recipient": "age1epkfxmjk0tlne8rmxqq77u06q3lnf5xfjcrwq42nuasswefndyfscw84cy", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzNFh2WE81eUpmQ0hzaEx1\nczBweXVTTmVUbGdrNzVPeGE3bjREa1RhcjFRCmwwVEI0b0E1alprbTl2eGF0YXFi\ncDNKOVJKOHNCdDR4MzR0cFN4ZXpVYTQKLS0tIGZ2WEFySWV5V0hxdWpaeWJSNlZD\ndmF4Q2lPZjhEYTYvcllTOFpOUDRYcFEK7ZrvxKB41UgH2AafvkRgzOckv809H37g\nKiOknxWOzzngILhp3o1EvWFrE65TH/Rlh8i2f0maqJj9Dw/8UfdGbA==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtaXN1dUVCQ0t5MHM0cG1J\nWWJ0dC9UY0k5VkZzQzhBeHNBS1ErMWdkT21BCmlyTnRJRlpzT25teU4zeW1LZ2g1\nZmpkUEFxa3JTSXUrdlA4MXdNY1hPNEUKLS0tIEZqNW5uQzlUZlB2dnJmdHhENUZU\nT2dKSmdaQmY5RmtBUFMzUHY2RHBabVEKwYvwcsHoTxU5OkBwTBow+VP4Cl/KzWmC\nWLiIeUAx+zfDmpjbsV0JHuw1jlfW4ku1JJ6fCz7LIrUID3dcwU0PvQ==\n-----END AGE ENCRYPTED FILE-----\n" }, { "recipient": "age1hy523tlslqas8qgs0lxgxanp9gx06fjekn608w4qf66mxkjzmucqh0g6vg", - "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzN3dzeUs3dU9CVUM4b2JH\nNFk2ZGNETWEzTjUzUkgzMmVNUmN1RnFweGpJCi9EZ2w5dnBDV2dyTjcvZy9hdDFq\ncjhtcWJadE1wNEpjdUV0eWVBWkJGZkEKLS0tIHBSZkFSYy9PQ0tPb2RnWFZBTVFh\nYjRva2pEbVRPbEpWSUFNRXoyOEJJNkUKvQ3qJPwW8kmVHsB0am1ZIEYBdweDWlMu\nocLLNOTlL/rlIdTF3Y+h2oUjOzBzSZXKtWq+9QHra5vGwipL1K5zAQ==\n-----END AGE ENCRYPTED FILE-----\n" + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0TzJiUzNxYU5udzBHY2Mv\ndWY1NkZHSGZzamtLekhsTm5HRFl4clc0b1dFClpmWi9YYWE4Y21icUJKKzhZY2VS\nalJjeFlkM2pVLzBUQjRUamxYSVg5Y2MKLS0tIDdPMzYzYkNPb3RXck5RNFBORHhM\nbVlDem5OQ1VCNExqTU9BK0RET2I2Z1UKNCt7dPryjelSLobAGgipMuMZExZzkATV\nEjh8FKJ5xSNdDYWHiirY2dI/In8i26WY+3JiobB075V7JQ9I4OLttg==\n-----END AGE ENCRYPTED FILE-----\n" } ], "lastmodified": "2025-02-12T10:44:19Z", diff --git a/modules/alacritty.nix b/modules/alacritty.nix new file mode 100644 index 0000000..56a3b4a --- /dev/null +++ b/modules/alacritty.nix @@ -0,0 +1,32 @@ +{ + config, + lib, + ... +}: +let + cfg = config.home.alacritty; + uwsmPrefix = config.home.wayland.uwsm.prefix; +in +with lib; +{ + options = { + home.alacritty.enable = mkEnableOption "alacritty"; + }; + + config = mkIf cfg.enable { + programs = { + alacritty = { + enable = true; + settings = { + font.offset.y = 8; + }; + }; + }; + + wayland.windowManager.hyprland.settings = mkIf config.home.hyprland.enable { + bind = [ + "SUPER, Return, exec, ${uwsmPrefix} alacritty" + ]; + }; + }; +} diff --git a/modules/brightnessctl.nix b/modules/brightnessctl.nix index 2c44e3e..b3d7cbe 100644 --- a/modules/brightnessctl.nix +++ b/modules/brightnessctl.nix @@ -21,8 +21,8 @@ with lib; wayland.windowManager.hyprland.settings = mkIf config.home.hyprland.enable { bindel = [ - ", XF86MonBrightnessDown, exec, ${uwsmPrefix}brightnessctl s 10%-" - ", XF86MonBrightnessUp, exec, ${uwsmPrefix}brightnessctl s 10%+" + ", XF86MonBrightnessDown, exec, ${uwsmPrefix} brightnessctl s 10%-" + ", XF86MonBrightnessUp, exec, ${uwsmPrefix} brightnessctl s 10%+" ]; }; }; diff --git a/modules/firefox.nix b/modules/firefox.nix index 027ef13..9cd90dd 100644 --- a/modules/firefox.nix +++ b/modules/firefox.nix @@ -97,75 +97,75 @@ with lib; "bing".metaData.hidden = true; "ddg".metaData.alias = "@d"; "google".metaData.alias = "@g"; - "wikipedia (en)".metaData.alias = "@w"; + "wikipedia".metaData.alias = "@w"; - "Arch Linux Wiki" = { + "archlinux" = { urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ]; icon = "https://wiki.archlinux.org/favicon.ico"; definedAliases = [ "@a" ]; }; - "Github" = { + "github" = { urls = [ { template = "https://github.com/search?q={searchTerms}"; } ]; icon = "https://github.githubassets.com/favicons/favicon.svg"; definedAliases = [ "@gh" ]; }; - "Reddit" = { + "reddit" = { urls = [ { template = "https://reddit.com/search?q={searchTerms}"; } ]; icon = "https://www.redditstatic.com/shreddit/assets/favicon/192x192.png"; definedAliases = [ "@r" ]; }; - "MyNixOS" = { + "mynixos" = { urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@n" ]; }; - "NixOS Wiki" = { + "nixoswiki" = { urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; icon = "https://wiki.nixos.org/nixos.png"; definedAliases = [ "@nw" ]; }; - "PHP" = { + "php" = { urls = [ { template = "https://php.net/{searchTerms}"; } ]; icon = "https://www.php.net/favicon-196x196.png?v=2"; definedAliases = [ "@php" ]; }; - "ProtonDB" = { + "protondb" = { urls = [ { template = "https://protondb.com/search?q={searchTerms}"; } ]; icon = "https://protondb.com/sites/protondb/images/favicon-32x32.png"; definedAliases = [ "@p" ]; }; - "YouTube" = { + "youtube" = { urls = [ { template = "https://youtube.com/results?search_query={searchTerms}"; } ]; icon = "https://youtube.com/img/favicon_144.png"; definedAliases = [ "@yt" ]; }; - "YouTube Music" = { + "youtubemusic" = { urls = [ { template = "https://music.youtube.com/search?q={searchTerms}"; } ]; icon = "https://music.youtube.com/img/favicon_144.png"; definedAliases = [ "@ytm" ]; }; - "Rotten Tomatoes" = { + "rottentomatoes" = { urls = [ { template = "https://www.rottentomatoes.com/search?search={searchTerms}"; } ]; icon = "https://editorial.rottentomatoes.com/wp-content/uploads/2022/05/favicon.png?w=32"; definedAliases = [ "@rt" ]; }; - "Sonarr" = { + "sonarr" = { urls = [ { template = "https://sonarr.99linesofcode.nl/add/new?term={searchTerms}"; } ]; icon = "https://sonarr.99linesofcode.nl/Content/Images/Icons/favicon-32x32.png"; definedAliases = [ "@sonarr" ]; }; - "Radarr" = { + "radarr" = { urls = [ { template = "https://radarr.99linesofcode.nl/add/new?term={searchTerms}"; } ]; icon = "https://radarr.99linesofcode.nl/Content/Images/Icons/favicon-32x32.png"; definedAliases = [ "@radarr" ]; diff --git a/modules/git.nix b/modules/git.nix index 1776f43..94e5947 100644 --- a/modules/git.nix +++ b/modules/git.nix @@ -1,6 +1,7 @@ { config, lib, + pkgs, specialArgs, ... }: @@ -15,6 +16,10 @@ with lib; }; config = mkIf cfg.enable { + home.packages = with pkgs; [ + git-filter-repo + ]; + programs = { gh = { enable = true; @@ -26,7 +31,7 @@ with lib; git = { enable = true; settings = { - aliases = { + alias = { fix = "commit --fixup"; pufowile = "push --force-with-lease"; sl = "log --oneline --decorate --graph"; diff --git a/modules/hyprland/binds.nix b/modules/hyprland/binds.nix index e18ec13..271aaa5 100644 --- a/modules/hyprland/binds.nix +++ b/modules/hyprland/binds.nix @@ -18,12 +18,11 @@ in "SUPER_ALT_CTRL, S, pass, ^(com\.obsproject\.Studio)$" # Hotkeys - "SUPER, Return, exec, ${uwsmPrefix}alacritty" "SUPER, Space, exec, rofi -show-icons -show drun -l 10" "SUPER, V, exec, cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy" - "SUPER_ALT, M, exec, ${uwsmPrefix}wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" - "SUPER_ALT, B, exec, ${uwsmPrefix}~/.config/hypr/scripts/bluetooth-toggle.sh" + "SUPER_ALT, M, exec, ${uwsmPrefix} wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" + "SUPER_ALT, B, exec, ${uwsmPrefix} ~/.config/hypr/scripts/bluetooth-toggle.sh" # Manipulate windows "SUPER, W, killactive" @@ -97,9 +96,9 @@ in ]; bindel = [ - ", XF86AudioMute, exec, ${uwsmPrefix}wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - ", XF86AudioLowerVolume, exec, ${uwsmPrefix}wpctl set-volume -l 1.25 @DEFAULT_AUDIO_SINK@ 5%-" - ", XF86AudioRaiseVolume, exec, ${uwsmPrefix}wpctl set-volume -l 1.25 @DEFAULT_AUDIO_SINK@ 5%+" + ", XF86AudioMute, exec, ${uwsmPrefix} wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ", XF86AudioLowerVolume, exec, ${uwsmPrefix} wpctl set-volume -l 1.25 @DEFAULT_AUDIO_SINK@ 5%-" + ", XF86AudioRaiseVolume, exec, ${uwsmPrefix} wpctl set-volume -l 1.25 @DEFAULT_AUDIO_SINK@ 5%+" ]; bindm = [ diff --git a/modules/hyprland/hyprmon.nix b/modules/hyprland/hyprmon.nix index 13e5323..8bee5b7 100644 --- a/modules/hyprland/hyprmon.nix +++ b/modules/hyprland/hyprmon.nix @@ -21,7 +21,7 @@ with lib; wayland.windowManager.hyprland.settings = { bind = [ - "SUPER, P, exec, ${uwsmPrefix}alacritty -e hyprmon" # F4 + "SUPER, P, exec, ${uwsmPrefix} alacritty -e hyprmon" # F4 ]; }; }; diff --git a/modules/hyprland/hyprpicker.nix b/modules/hyprland/hyprpicker.nix index d010bbc..66e8744 100644 --- a/modules/hyprland/hyprpicker.nix +++ b/modules/hyprland/hyprpicker.nix @@ -21,7 +21,7 @@ with lib; wayland.windowManager.hyprland.settings = { bind = [ - "SUPER, D, exec, ${uwsmPrefix}hyprpicker -na" + "SUPER, D, exec, ${uwsmPrefix} hyprpicker -na" ]; }; }; diff --git a/modules/hyprland/settings.nix b/modules/hyprland/settings.nix index 0739836..a1fb775 100644 --- a/modules/hyprland/settings.nix +++ b/modules/hyprland/settings.nix @@ -5,7 +5,7 @@ in { wayland.windowManager.hyprland.settings = { exec-once = [ - "${uwsmPrefix} wl-paste -w cliphist store" # TODO: switch to clipse or stick with rofi and cliphist? + "${uwsmPrefix} wl-paste -w cliphist store" # TODO: switch to clipse or stick with rofi and cliphist? ]; monitor = [ diff --git a/modules/nvim/conform.nix b/modules/nvim/conform.nix index 8de5bd2..31f157f 100644 --- a/modules/nvim/conform.nix +++ b/modules/nvim/conform.nix @@ -114,6 +114,9 @@ rust = [ "rustfmt" ]; + sql = [ + "sqruff" + ]; typescript = [ "eslint_d" "prettierd" diff --git a/modules/nvim/lsp.nix b/modules/nvim/lsp.nix index 3de4da7..8d9fe3b 100644 --- a/modules/nvim/lsp.nix +++ b/modules/nvim/lsp.nix @@ -31,6 +31,7 @@ installRustc = false; }; superhtml.enable = true; + sqruff.enable = true; tailwindcss.enable = true; ts_ls.enable = true; vue_ls.enable = true; @@ -90,6 +91,7 @@ }; }; lspkind.enable = true; # vscode-like pictograms for lsp + lsp-lines.enable = true; # diagnostics in virtual line lsp-signature.enable = true; # method signatures }; }; diff --git a/modules/nvim/nvim-lint.nix b/modules/nvim/nvim-lint.nix index 7d23c74..a6de246 100644 --- a/modules/nvim/nvim-lint.nix +++ b/modules/nvim/nvim-lint.nix @@ -15,6 +15,7 @@ "jsonlint" ]; markdown = [ + "markdownlint-cli2" "vale" ]; php = [ diff --git a/modules/playerctl.nix b/modules/playerctl.nix index 3452e8d..3f3ce67 100644 --- a/modules/playerctl.nix +++ b/modules/playerctl.nix @@ -21,11 +21,11 @@ with lib; wayland.windowManager.hyprland.settings = mkIf config.home.hyprland.enable { bindl = [ - ", XF86AudioPrev, exec, ${uwsmPrefix}playerctl previous" - ", XF86AudioPlay, exec, ${uwsmPrefix}playerctl play-pause" - ", XF86AudioNext, exec, ${uwsmPrefix}playerctl next" - ", XF86AudioMedia, exec, ${uwsmPrefix}playerctl play-pause" - ", XF86AudioStop, exec, ${uwsmPrefix}playerctl stop" + ", XF86AudioPrev, exec, ${uwsmPrefix} playerctl previous" + ", XF86AudioPlay, exec, ${uwsmPrefix} playerctl play-pause" + ", XF86AudioNext, exec, ${uwsmPrefix} playerctl next" + ", XF86AudioMedia, exec, ${uwsmPrefix} playerctl play-pause" + ", XF86AudioStop, exec, ${uwsmPrefix} playerctl stop" ]; }; }; diff --git a/modules/waybar.nix b/modules/waybar.nix index cb14e20..27463c2 100644 --- a/modules/waybar.nix +++ b/modules/waybar.nix @@ -117,7 +117,7 @@ with lib; " " ]; }; - "on-click" = "${uwsmPrefix}pwvucontrol"; + "on-click" = "${uwsmPrefix} pwvucontrol"; }; "network" = { @@ -131,7 +131,7 @@ with lib; "tooltip-format-ethernet" = " {ifname} ({ipaddr}/{cidr})"; "tooltip-format-disconnected" = "Disconnected"; "max-length" = 50; - "on-click" = "${uwsmPrefix}alacritty -e impala"; + "on-click" = "${uwsmPrefix} alacritty -e impala"; }; "bluetooth" = { @@ -142,7 +142,7 @@ with lib; "tooltip-format" = "{device_alias}"; "tooltip-format-connected" = "󰂰 {device_enumerate}"; "tooltip-format-enumerate-connected" = "{device_alias}"; - "on-click" = "${uwsmPrefix}alacritty -e bluetui"; + "on-click" = "${uwsmPrefix} alacritty -e bluetui"; }; "battery" = { diff --git a/modules/wayland.nix b/modules/wayland.nix index 23a9453..003597a 100644 --- a/modules/wayland.nix +++ b/modules/wayland.nix @@ -6,7 +6,7 @@ }: let cfg = config.home.wayland; - uwsmPrefix = "uwsm app -- "; + uwsmPrefix = "uwsm app --"; in with lib; { @@ -14,7 +14,7 @@ with lib; home.wayland = { enable = mkEnableOption "wayland"; uwsm.prefix = mkOption { - default = "${uwsmPrefix}"; + default = "${uwsmPrefix} "; type = with types; str; description = "UWSM prefix"; }; diff --git a/modules/wlogout.nix b/modules/wlogout.nix index cc510d6..d24a6ef 100644 --- a/modules/wlogout.nix +++ b/modules/wlogout.nix @@ -20,7 +20,7 @@ with lib; layout = [ { "label" = "lock"; - "action" = "which hyprlock &>/dev/null && ${uwsmPrefix}hyprlock || loginctl lock-session"; + "action" = "which hyprlock &>/dev/null && ${uwsmPrefix} hyprlock || loginctl lock-session"; "text" = "[L] ock"; "keybind" = "l"; } diff --git a/modules/yazi.nix b/modules/yazi.nix index 616c3c3..395eb89 100644 --- a/modules/yazi.nix +++ b/modules/yazi.nix @@ -66,7 +66,7 @@ with lib; wayland.windowManager.hyprland.settings = mkIf config.home.hyprland.enable { bind = [ - "SUPER, E, exec, ${uwsmPrefix}alacritty -e 'yazi'" + "SUPER, E, exec, ${uwsmPrefix} alacritty -e yazi" ]; }; }; diff --git a/modules/zellij.nix b/modules/zellij.nix index 9465798..ad89902 100644 --- a/modules/zellij.nix +++ b/modules/zellij.nix @@ -14,17 +14,11 @@ with lib; config = mkIf cfg.enable { programs = { - alacritty = mkIf config.programs.alacritty.enable { - settings = { - terminal.shell = "zellij"; - }; - }; zellij = { enable = true; enableZshIntegration = config.programs.zsh.enable; settings = { show_startup_tips = false; - default_layout = "compact"; # NOTE: https://github.com/zellij-org/zellij/blob/main/zellij-utils/assets/config/default.kdl keybinds = { "normal clear-defaults=true" = { diff --git a/modules/zsh.nix b/modules/zsh.nix index 20dffd6..aeb50ed 100644 --- a/modules/zsh.nix +++ b/modules/zsh.nix @@ -41,27 +41,36 @@ with lib; "rm *" ]; }; - initContent = '' - fastfetch + initContent = # sh + '' + fastfetch - function p() { - if [ -f docker-compose.yml ] || [ -f docker-compose.yaml ]; then - if docker ps -f "name=php" -f "publish=80" --format "{{.ID}}" | grep -q .; then - docker compose exec php $@ - return + function a() { + if [ -f artisan ]; then + p php artisan $@ + else + p php ./vendor/bin/testbench $@ + fi + } + + function p() { + if [ -f docker-compose.yml ] || [ -f docker-compose.yaml ]; then + if docker ps -f "name=php" -f "publish=80" --format "{{.ID}}" | grep -q .; then + docker compose exec php $@ + return + fi fi - fi - # TODO: local PHP should probably take precedence when dnsmasq is setup correctly - if command -v php >/dev/null 2>&1; then - $@ - return - fi + # TODO: local PHP should probably take precedence when dnsmasq is setup correctly + if command -v php >/dev/null 2>&1; then + $@ + return + fi - echo "Failed to run $@. Could not find PHP or PHP docker container." - return 1 - } - ''; + echo "Failed to run $@. Could not find PHP or PHP docker container." + return 1 + } + ''; oh-my-zsh = { enable = true; plugins = [ @@ -76,14 +85,15 @@ with lib; ]; theme = "juanghurtado"; }; - profileExtra = mkIf config.home.wayland.enable '' - if uwsm check may-start; then - exec uwsm start default - fi - ''; + profileExtra = + mkIf config.home.wayland.enable # sh + '' + if uwsm check may-start; then + exec uwsm start default + fi + ''; syntaxHighlighting.enable = true; shellAliases = { - a = "p php artisan"; artisan = "a"; cat = "bat --paging=never"; c = "p composer";