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/flake.lock b/flake.lock index cc70b52..e26409b 100644 --- a/flake.lock +++ b/flake.lock @@ -92,11 +92,11 @@ ] }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -207,11 +207,11 @@ ] }, "locked": { - "lastModified": 1768240557, - "narHash": "sha256-bVqJ34yMiiUQwYhjliiiN5LBH1Y+UldbIjNTCUtDdwE=", + "lastModified": 1772060133, + "narHash": "sha256-VuyRptb8v1lVGMlLp4/1vRX3Efwec0CN0S6mKmDPzLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "b3f737e70fb9eef1d2308ea6738ffed5ae080f9b", + "rev": "ce9b6e52500a0ea0ec48f0bbf6d7a3e431d9dfa4", "type": "github" }, "original": { @@ -227,11 +227,11 @@ ] }, "locked": { - "lastModified": 1768184343, - "narHash": "sha256-dS+Xr1UQYBn8IUWs2/pme7xwl/CGGtmwCnyyfhOQgtM=", + "lastModified": 1772073742, + "narHash": "sha256-wl7hHR9lC3hDnNecY7LquuApIEyRFTzA9reAoOUqE4c=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "585d0a79468dfd5a1234b4c867fadc7cf24b6483", + "rev": "13af57106c02b31342f8046860550e526218eaa4", "type": "github" }, "original": { @@ -242,11 +242,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1768127708, - "narHash": "sha256-1Sm77VfZh3mU0F5OqKABNLWxOuDeHIlcFjsXeeiPazs=", + "lastModified": 1771848320, + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ffbc9f8cbaacfb331b6017d5a5abb21a492c9a38", + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", "type": "github" }, "original": { @@ -265,11 +265,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1767906546, - "narHash": "sha256-AoSWS8+P+7hQ/jIdv0wBjgH1MvnerdWBFXO4GV3JoQs=", + "lastModified": 1771135771, + "narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=", "owner": "nix-community", "repo": "nixvim", - "rev": "7eb8f36f085b85a2aeff929aff52d0f6aa14e000", + "rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba", "type": "github" }, "original": { @@ -286,11 +286,11 @@ ] }, "locked": { - "lastModified": 1768240195, - "narHash": "sha256-tBWjR3zFzc6KftTiITuQ71Y1XylPsqN4XgSfYxtItT0=", + "lastModified": 1772120935, + "narHash": "sha256-0XNEMp/aIxhdC7+cEjqoeVgnbRN30o1RaNCcyLpkoko=", "owner": "nix-community", "repo": "NUR", - "rev": "a1bc4fd38ae4c787e18d20991c472c8f0c556bd9", + "rev": "197e0b37cd38b86556175fa8818f3f57f47632b8", "type": "github" }, "original": { @@ -343,11 +343,11 @@ ] }, "locked": { - "lastModified": 1768104471, - "narHash": "sha256-HdnXWQsA1EI27IJlaENUEEug58trUrh6+MT0cFiDHmY=", + "lastModified": 1772048434, + "narHash": "sha256-/wA0OaH6kZ/pFA+nXR/tvg5oupOmEDmMS5us79JT60o=", "owner": "mic92", "repo": "sops-nix", - "rev": "94f9cbd20f680ebb2ad6cdf39da97cbcfaedf004", + "rev": "334daa7c273dd8bf7a0cd370e4e16022b64e55e9", "type": "github" }, "original": { @@ -377,11 +377,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1768241331, - "narHash": "sha256-li0Z2Tr5qpH+wyuCMpzXSsHYRleaTukcdLTpAsGcVzY=", + "lastModified": 1771787992, + "narHash": "sha256-Vg4bGwwenNYI8p3nJTl9FRyeIyrjATeZrZr+GyUSDrw=", "owner": "danth", "repo": "stylix", - "rev": "a62840a9e95801969a03b91e49c1607b5322224c", + "rev": "30054cca073b49b42a71289edec858f535b27fe9", "type": "github" }, "original": { @@ -524,11 +524,11 @@ ] }, "locked": { - "lastModified": 1753541826, - "narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=", + "lastModified": 1770124655, + "narHash": "sha256-yHmd2B13EtBUPLJ+x0EaBwNkQr9LTne1arLVxT6hSnY=", "owner": "nix-community", "repo": "nixos-vscode-server", - "rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d", + "rev": "92ce71c3ba5a94f854e02d57b14af4997ab54ef0", "type": "github" }, "original": { diff --git a/hosts/luna/users/shorty/default.nix b/hosts/luna/users/shorty/default.nix index 63b3e30..8e771f7 100644 --- a/hosts/luna/users/shorty/default.nix +++ b/hosts/luna/users/shorty/default.nix @@ -13,21 +13,21 @@ with lib; bitwarden-cli discord electron - # (freecad.override { withWayland = config.home.wayland.enable; }) - freecad-wayland + # freecad # FIXME: doesn't build with nixpkgs#2fc6539b481e1d2569f25f8799236694180c0993 insomnia # FOSS alternative to Postman API tester nix-prefetch-git polychromatic - # rustdesk + rustdesk-flutter scrcpy android-tools act # run GitHub Actions locally wireshark gdb - # ghidra # FIXME: wouldnt build for 4ebc11dad54b7e5b8a46c6edb2533852e99ec566bbe10836b2d6dba89c9c2e3c + ghidra scanmem ]; + alacritty.enable = true; bluetui.enable = true; brightnessctl.enable = true; dunst.enable = true; @@ -49,6 +49,7 @@ with lib; hyprland.enable = true; impala.enable = true; lazydocker.enable = true; + lazysql.enable = true; mpv.enable = true; nvim.enable = true; obsidian.enable = true; diff --git a/hosts/mars/users/shorty/default.nix b/hosts/mars/users/shorty/default.nix index 1f04288..80bf61a 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 = { @@ -19,10 +20,12 @@ with lib; }; git.enable = true; lazydocker.enable = true; + lazysql.enable = true; nvim.enable = true; 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/feh.nix b/modules/feh.nix index d6c49eb..55ca574 100644 --- a/modules/feh.nix +++ b/modules/feh.nix @@ -41,7 +41,6 @@ with lib; config = mkIf cfg.enable { programs.feh = with pkgs; { enable = true; - # package = feh.override { imlib2 = imlib2Full; }; # FIXME: wouldnt build for 4ebc11dad54b7e5b8a46c6edb2533852e99ec566bbe10836b2d6dba89c9c2e3c }; xdg.mimeApps.defaultApplications = mkIf cfg.defaultApplication.enable ( diff --git a/modules/firefox.nix b/modules/firefox.nix index 027ef13..9ed8882 100644 --- a/modules/firefox.nix +++ b/modules/firefox.nix @@ -73,7 +73,7 @@ with lib; extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ bitwarden darkreader - # fake-filler # TODO: added in a later commit + fake-filler gaoptout ublock-origin sponsorblock @@ -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/lazysql.nix b/modules/lazysql.nix new file mode 100644 index 0000000..f54d9ad --- /dev/null +++ b/modules/lazysql.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.home.lazysql; +in +with lib; +{ + options = { + home.lazysql.enable = mkEnableOption "lazysql"; + }; + + config = mkIf cfg.enable { + programs.lazysql = { + enable = true; + }; + }; +} diff --git a/modules/nvim.nix b/modules/nvim.nix index 6f1ebc4..d51e3d9 100644 --- a/modules/nvim.nix +++ b/modules/nvim.nix @@ -33,8 +33,11 @@ with lib; viAlias = true; vimAlias = true; vimdiffAlias = true; - globals.mapleader = " "; - globals.maplocalleader = "\\"; + + globals = { + mapleader = " "; + maplocalleader = "\\"; + }; opts = { autowrite = true; # write the contents of the file automatically on certain commands 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/mini.nix b/modules/nvim/mini.nix index 20e8e22..3ad6d46 100644 --- a/modules/nvim/mini.nix +++ b/modules/nvim/mini.nix @@ -21,7 +21,9 @@ }; }; }; - icons = { }; + icons = { + style = "glyph"; + }; pairs = { modes = { insert = true; 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/nvim/treesitter.nix b/modules/nvim/treesitter.nix index ee2b76e..7ae1980 100644 --- a/modules/nvim/treesitter.nix +++ b/modules/nvim/treesitter.nix @@ -19,7 +19,7 @@ trim_scope = "outer"; }; }; - # treesitter-refactor.enable = true; # FIXME: wouldnt build for 4ebc11dad54b7e5b8a46c6edb2533852e99ec566bbe10836b2d6dba89c9c2e3c + # treesitter-refactor.enable = true; # FIXME:conflicts with treesitter changes/migration, enable later treesitter-textobjects = { enable = true; settings = { 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/sops.nix b/modules/sops.nix index f73be2e..f873a42 100644 --- a/modules/sops.nix +++ b/modules/sops.nix @@ -3,10 +3,12 @@ inputs, lib, pkgs, + specialArgs, ... }: let cfg = config.home.sops; + inherit (specialArgs) username; in with lib; { @@ -29,6 +31,7 @@ with lib; defaultSopsFile = ../.sops.yaml; age = { generateKey = false; + keyFile = "/home/${username}/.config/sops/age/keys.txt"; sshKeyPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ]; }; }; 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..665a664 100644 --- a/modules/yazi.nix +++ b/modules/yazi.nix @@ -22,7 +22,7 @@ with lib; programs.yazi = { enable = true; settings = { - manager = { + mgr = { linemode = "none"; ratio = [ 1 @@ -59,6 +59,7 @@ with lib; micro_workers = 5; }; }; + shellWrapperName = "y"; plugins = { # TODO: add ouch.yazi for compressing and decompressing archives }; @@ -66,7 +67,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";