diff --git a/flake.lock b/flake.lock index f54f7ab..a56911b 100644 --- a/flake.lock +++ b/flake.lock @@ -47,11 +47,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1740016447, - "narHash": "sha256-96hBRGwuG+CFI5+inRIDCh0Za4LOt1dlbO3pFOokw6Y=", + "lastModified": 1740408177, + "narHash": "sha256-baFhGvCncDj3zJlDODJESVE83lV5+tGOrvgwQczzp84=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "ed7900391a1969bb0bde432fd3952a6dda37114c", + "rev": "62e2d6c89e4310c7cb56ee5f6bbdc280072dd082", "type": "github" }, "original": { @@ -66,11 +66,11 @@ "nixpkgs": ["nixpkgs"] }, "locked": { - "lastModified": 1739841949, - "narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=", + "lastModified": 1740485968, + "narHash": "sha256-WK+PZHbfDjLyveXAxpnrfagiFgZWaTJglewBWniTn2Y=", "owner": "nix-community", "repo": "disko", - "rev": "15dbf8cebd8e2655a883b74547108e089f051bf0", + "rev": "19c1140419c4f1cdf88ad4c1cfb6605597628940", "type": "github" }, "original": { @@ -104,11 +104,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1739946876, - "narHash": "sha256-ek0u5FT5yjqYKjF/0HQKwDH2ISZzyvYwu+My5hmSwbU=", + "lastModified": 1740292204, + "narHash": "sha256-ZbptkmqaenRhUKsodSEcVzBw+kXZ8DcZpTGutU1HEiI=", "owner": "nix-community", "repo": "fenix", - "rev": "95c1eab59767a3dbb11d6616d4ff736813ce41d2", + "rev": "93d59130e3fc121f927c03e406142df8d544b901", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "treefmt": "treefmt" }, "locked": { - "lastModified": 1738699636, - "narHash": "sha256-oboLj7yQAQlaJLSV8OpVpYHErLOVKST5FXtT+cKIjFQ=", + "lastModified": 1740382355, + "narHash": "sha256-VjShgJy4wCj8JsPmWROv76MgycBTu7i3vahg8hVNVhA=", "ref": "master", - "rev": "0a3c3ddf146a74c08e8fd3821e53e2c7d7ac2de2", - "revCount": 5, + "rev": "54654d56b149dde2beaa71de35dde549424c1985", + "revCount": 6, "type": "git", "url": "https://codeberg.org/amadaluzia/hetch.git" }, @@ -314,11 +314,11 @@ "nixpkgs": ["chaotic", "nixpkgs"] }, "locked": { - "lastModified": 1739913864, - "narHash": "sha256-WhzgQjadrwnwPJQLLxZUUEIxojxa7UWDkf7raAkB1Lw=", + "lastModified": 1740318342, + "narHash": "sha256-fjr9+3Iru6O5qE+2oERQkabqAUXx4awm0+i2MBcta1U=", "owner": "nix-community", "repo": "home-manager", - "rev": "97ac0801d187b2911e8caa45316399de12f6f199", + "rev": "b5ab2c7fdaa807cf425066ab7cd34b073946b1ca", "type": "github" }, "original": { @@ -333,11 +333,11 @@ "nixpkgs": ["chaotic", "nixpkgs"] }, "locked": { - "lastModified": 1739952453, - "narHash": "sha256-+tyFW6nNj1fJ1VTtLeqe1PMp5F7Fb9zIkT6mUvdQHrM=", + "lastModified": 1740269380, + "narHash": "sha256-l+zB5a39MJp4Olc4YxP7GChFXmNZIhoXaiSS6QRXa9o=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "b2ed82d3ff837960df4518308dfe409dda3ae406", + "rev": "11ba89d13831cb399194310304fffb025081c674", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "lastModified": 1740367490, + "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "0196c0175e9191c474c26ab5548db27ef5d34b05", "type": "github" }, "original": { @@ -474,11 +474,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "lastModified": 1740367490, + "narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "0196c0175e9191c474c26ab5548db27ef5d34b05", "type": "github" }, "original": { @@ -567,11 +567,11 @@ "nvf": "nvf" }, "locked": { - "lastModified": 1740227755, - "narHash": "sha256-pNZF6irEgqVB6QSJptsD9JHyeN2YyYtQ4/o9Yzts8wE=", + "lastModified": 1740334068, + "narHash": "sha256-9STRcLfu7X06/PjD84yOJ0UfK8UDubutk6pUHp7ZkwY=", "ref": "master", - "rev": "b1e95fdc28a2efa79b45bc69a7d32fbb8b51e134", - "revCount": 26, + "rev": "73b9963bbc0aeaadaae3c1cbcc5fa5493bde2677", + "revCount": 27, "type": "git", "url": "https://codeberg.org/amadaluzia/painless-neovim.git" }, @@ -588,11 +588,11 @@ "parts": "parts" }, "locked": { - "lastModified": 1738681743, - "narHash": "sha256-RXI9JIFaK9TlqHe2dv/1vH+tcTiIhbSwmsyFSdC0SEE=", + "lastModified": 1740515683, + "narHash": "sha256-/Pmbmak46IQDjsYzF15b0iE1GAmfT96DyQVWriLGcOc=", "ref": "main", - "rev": "a4ae97d6da39c9d3b9cc7a1aaef09b6f5996b059", - "revCount": 89, + "rev": "290ed2ea96f667249c9d08fb08ac7db5a05536e8", + "revCount": 90, "type": "git", "url": "https://codeberg.org/amadaluzia/pankomacs.git" }, @@ -655,11 +655,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1739913186, - "narHash": "sha256-7MSzs64dLDgq1wFw2eujZ01qdj9K+TwIlQMyWebotE8=", + "lastModified": 1740259966, + "narHash": "sha256-FJU9qiELvmJzNRr7wLFtJUy4bSk1PNqsRB7wOQz6zUE=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "3028f844c5898dcf115f6bc67a5ce793989b04a1", + "rev": "9df88ff0f65f8de9f73684d2bb96e1b62669d083", "type": "github" }, "original": { diff --git a/hosts/python/apps.nix b/hosts/python/apps.nix index d452ac7..96cb2f4 100644 --- a/hosts/python/apps.nix +++ b/hosts/python/apps.nix @@ -12,22 +12,19 @@ statix deadnix alejandra - neovide ; - neovim = inputs.painless-neovim.packages.${pkgs.system}.default; }; - sessionVariables = {EDITOR = "neovide --no-fork";}; }; alqueva = { programs = { swaybg = { enable = true; - wallpaper = inputs.wallpkgs.wallpapers.everforest-mojave_minimal.path; + wallpaper = inputs.wallpkgs.wallpapers.everforest-foggy_valley_1.path; }; waybar = { enable = true; - package = pkgs.amadaluzian-waybar; + package = pkgs.waybar; }; sleep-or-die = { enable = true; @@ -79,6 +76,13 @@ web.enable = false; }; rsyncd.enable = true; + emacs = { + enable = true; + package = inputs.pankomacs.packages.${pkgs.system}.pgtk; + startWithGraphical = true; + install = true; + defaultEditor = true; + }; }; programs.git.config = { diff --git a/hosts/python/default.nix b/hosts/python/default.nix index 132b298..6397a85 100644 --- a/hosts/python/default.nix +++ b/hosts/python/default.nix @@ -4,12 +4,13 @@ ... }: { imports = [ - ./users + ./users/amadaluzia ./hardware.nix ./disks.nix ./theme.nix ./apps.nix ./fonts.nix + ./forgejo.nix ]; config = { @@ -23,14 +24,6 @@ nixpkgs.overlays = [ inputs.alqages.overlays.default - ( - final: _prev: ( - builtins.mapAttrs (_: v: final.callPackage v {}) { - amadaluzian-waybar = ./wrappers/waybar; - amadaluzian-foot = ./wrappers/foot; - } - ) - ) ]; console = { diff --git a/hosts/python/fonts.nix b/hosts/python/fonts.nix index 6d419fd..eb6b283 100644 --- a/hosts/python/fonts.nix +++ b/hosts/python/fonts.nix @@ -1,14 +1,16 @@ -{pkgs, ...}: { +{pkgs, ...}: let + comfy = pkgs.iosevka-comfy; +in { alqueva.system.fonts = { names = { - sansSerif = ["IBM Plex Sans"]; - monospace = ["IBM Plex Mono"]; + sansSerif = ["Iosevka Comfy"]; + monospace = ["Iosevka Comfy Fixed"]; serif = ["IBM Plex Serif"]; emoji = ["Twitter Color Emoji"]; }; packages = { - sansSerif = [pkgs.ibm-plex]; - monospace = [pkgs.ibm-plex]; + sansSerif = [comfy.comfy]; + monospace = [comfy.comfy-fixed]; serif = [pkgs.ibm-plex]; emoji = [pkgs.twemoji-color-font]; extra = [ diff --git a/hosts/python/forgejo.nix b/hosts/python/forgejo.nix new file mode 100644 index 0000000..cc6264d --- /dev/null +++ b/hosts/python/forgejo.nix @@ -0,0 +1,51 @@ +{config, ...}: let + cfg = config.services.forgejo; + srv = cfg.settings.server; +in { + services.nginx = { + virtualHosts.${cfg.settings.server.DOMAIN} = { + forceSSL = true; + enableACME = true; + extraConfig = '' + client_max_body_size 512M; + ''; + locations."/".proxyPass = "http://localhost:${toString srv.HTTP_PORT}"; + }; + }; + + services.forgejo = { + enable = true; + database.type = "postgres"; + # Enable support for Git Large File Storage + lfs.enable = true; + settings = { + server = { + DOMAIN = "192.168.1.252"; + # You need to specify this to remove the port from URLs in the web UI. + ROOT_URL = "http://${srv.DOMAIN}:${toString srv.HTTP_PORT}/"; + HTTP_PORT = 3000; + }; + # You can temporarily allow registration to create an admin user. + service.DISABLE_REGISTRATION = false; + # Add support for actions, based on act: https://github.com/nektos/act + actions = { + ENABLED = true; + DEFAULT_ACTIONS_URL = "github"; + }; + # Sending emails is completely optional + # You can send a test email from the web UI at: + # Profile Picture > Site Administration > Configuration > Mailer Configuration + mailer = { + ENABLED = true; + SMTP_ADDR = "mail.example.com"; + FROM = "noreply@${srv.DOMAIN}"; + USER = "noreply@${srv.DOMAIN}"; + PASSWD = "password"; # Locally hosted instance a.k.a. NO ONE CARES. + }; + default = { + APP_NAME = "Amadajo"; + APP_SLOGAN = "Fun little instance I just have on my config..."; + }; + }; + }; +} diff --git a/hosts/python/users/configs/dunst/dunstrc b/hosts/python/users/amadaluzia/configs/dunst/dunstrc similarity index 100% rename from hosts/python/users/configs/dunst/dunstrc rename to hosts/python/users/amadaluzia/configs/dunst/dunstrc diff --git a/hosts/python/wrappers/foot/foot.ini b/hosts/python/users/amadaluzia/configs/foot/foot.ini similarity index 100% rename from hosts/python/wrappers/foot/foot.ini rename to hosts/python/users/amadaluzia/configs/foot/foot.ini diff --git a/hosts/python/users/configs/kanshi/config b/hosts/python/users/amadaluzia/configs/kanshi/config similarity index 100% rename from hosts/python/users/configs/kanshi/config rename to hosts/python/users/amadaluzia/configs/kanshi/config diff --git a/hosts/python/users/configs/kitty/current-theme.conf b/hosts/python/users/amadaluzia/configs/kitty/current-theme.conf similarity index 100% rename from hosts/python/users/configs/kitty/current-theme.conf rename to hosts/python/users/amadaluzia/configs/kitty/current-theme.conf diff --git a/hosts/python/users/configs/kitty/kitty.conf b/hosts/python/users/amadaluzia/configs/kitty/kitty.conf similarity index 100% rename from hosts/python/users/configs/kitty/kitty.conf rename to hosts/python/users/amadaluzia/configs/kitty/kitty.conf diff --git a/hosts/python/users/configs/niri/config.kdl b/hosts/python/users/amadaluzia/configs/niri/config.kdl similarity index 97% rename from hosts/python/users/configs/niri/config.kdl rename to hosts/python/users/amadaluzia/configs/niri/config.kdl index 6584700..be25e7c 100644 --- a/hosts/python/users/configs/niri/config.kdl +++ b/hosts/python/users/amadaluzia/configs/niri/config.kdl @@ -147,7 +147,7 @@ layout { // off // How many logical pixels the ring extends out from the windows. - width 1 + width 2 // Colors can be set in a variety of ways: // - CSS named colors: "red" @@ -232,13 +232,34 @@ animations { // off // Slow down all animations by this factor. Values below 1 speed them up instead. - slowdown 0.9 + slowdown 0.8 } // Window rules let you adjust behavior for individual windows. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules +layer-rule { + shadow { + on + softness 10 + spread 1 + draw-behind-window true + color "#00000030" + } +} + +window-rule { + match is-floating=true + shadow { + on + softness 20 + spread 10 + draw-behind-window true + color "#00000040" + } +} + // Work around WezTerm's initial configure bug // by setting an empty default-column-width. window-rule { @@ -293,7 +314,7 @@ binds { Mod+Shift+Slash { show-hotkey-overlay; } // Suggested binds for running programs: terminal, app launcher, screen locker. - Mod+T { spawn "neovide"; } + Mod+T { spawn "emacs"; } Mod+D { spawn "rofi" "-show" "drun"; } // Super+Alt+L { spawn "swaylock"; } @@ -464,6 +485,7 @@ binds { Mod+Shift+R { switch-preset-window-height; } Mod+Ctrl+R { reset-window-height; } Mod+F { maximize-column; } + Mod+Ctrl+F { expand-column-to-available-width; } Mod+Shift+F { fullscreen-window; } Mod+C { center-column; } @@ -485,6 +507,7 @@ binds { // Move the focused window between the floating and the tiling layout. Mod+V { toggle-window-floating; } Mod+Shift+V { switch-focus-between-floating-and-tiling; } + Mod+W { toggle-column-tabbed-display; } // Actions to switch layouts. // Note: if you uncomment these, make sure you do NOT have diff --git a/hosts/python/users/configs/qutebrowser/config.py b/hosts/python/users/amadaluzia/configs/qutebrowser/config.py similarity index 100% rename from hosts/python/users/configs/qutebrowser/config.py rename to hosts/python/users/amadaluzia/configs/qutebrowser/config.py diff --git a/hosts/python/users/configs/qutebrowser/theme/__init__.py b/hosts/python/users/amadaluzia/configs/qutebrowser/theme/__init__.py similarity index 100% rename from hosts/python/users/configs/qutebrowser/theme/__init__.py rename to hosts/python/users/amadaluzia/configs/qutebrowser/theme/__init__.py diff --git a/hosts/python/users/configs/river/init b/hosts/python/users/amadaluzia/configs/river/init similarity index 100% rename from hosts/python/users/configs/river/init rename to hosts/python/users/amadaluzia/configs/river/init diff --git a/hosts/python/users/configs/river/scripts/waybar.sh b/hosts/python/users/amadaluzia/configs/river/scripts/waybar.sh similarity index 100% rename from hosts/python/users/configs/river/scripts/waybar.sh rename to hosts/python/users/amadaluzia/configs/river/scripts/waybar.sh diff --git a/hosts/python/users/configs/rofi/config.rasi b/hosts/python/users/amadaluzia/configs/rofi/config.rasi similarity index 100% rename from hosts/python/users/configs/rofi/config.rasi rename to hosts/python/users/amadaluzia/configs/rofi/config.rasi diff --git a/hosts/python/users/configs/rofi/themes/nord.rasi b/hosts/python/users/amadaluzia/configs/rofi/themes/nord.rasi similarity index 100% rename from hosts/python/users/configs/rofi/themes/nord.rasi rename to hosts/python/users/amadaluzia/configs/rofi/themes/nord.rasi diff --git a/hosts/python/users/configs/vesktop/quickCss.css b/hosts/python/users/amadaluzia/configs/vesktop/quickCss.css similarity index 100% rename from hosts/python/users/configs/vesktop/quickCss.css rename to hosts/python/users/amadaluzia/configs/vesktop/quickCss.css diff --git a/hosts/python/wrappers/waybar/config.jsonc b/hosts/python/users/amadaluzia/configs/waybar/config.jsonc similarity index 100% rename from hosts/python/wrappers/waybar/config.jsonc rename to hosts/python/users/amadaluzia/configs/waybar/config.jsonc diff --git a/hosts/python/wrappers/waybar/style.scss b/hosts/python/users/amadaluzia/configs/waybar/style.scss similarity index 100% rename from hosts/python/wrappers/waybar/style.scss rename to hosts/python/users/amadaluzia/configs/waybar/style.scss diff --git a/hosts/python/users/amadaluzia/configs/waybar/waybar.nix b/hosts/python/users/amadaluzia/configs/waybar/waybar.nix new file mode 100644 index 0000000..b5eefc8 --- /dev/null +++ b/hosts/python/users/amadaluzia/configs/waybar/waybar.nix @@ -0,0 +1,42 @@ +pkgs: let + json = pkgs.formats.json {}; +in { + config = json.generate "waybar.jsonc" { + position = "top"; + height = 0; + spacing = 16; + modules-left = ["mpris"]; + modules-center = ["niri/workspaces"]; + modules-right = ["wireplumber" "clock"]; + mpris = { + format = "{player_icon} {dynamic}"; + format-paused = "{status_icon} {dynamic}"; + interval = 1; + dynamic-len = 64; + player-icons = { + default = "▶"; + mpv = "🎵"; + }; + status_icons = { + paused = "⏸"; + }; + }; + clock = { + format = " {:%H:%M}"; + tooltip-format = "{:%A, %B %d, %Y}"; + }; + wireplumber = { + format = "{icon} {volume}%"; + format-muted = ""; + on-click = "helvum"; + format-icons = ["" "" ""]; + }; + }; + + style = + pkgs.runCommand "waybar.css" { + nativeBuildInputs = [pkgs.sass]; + } '' + sass ${./style.scss} > $out + ''; +} diff --git a/hosts/python/users/default.nix b/hosts/python/users/amadaluzia/default.nix similarity index 86% rename from hosts/python/users/default.nix rename to hosts/python/users/amadaluzia/default.nix index a101f95..c50e206 100644 --- a/hosts/python/users/default.nix +++ b/hosts/python/users/amadaluzia/default.nix @@ -3,7 +3,9 @@ pkgs, config, ... -}: { +}: let + waybar = import ./configs/waybar/waybar.nix pkgs; +in { alqueva.users.artur = { shell = config.alqueva.shells.nushell.package; tmpfiles = { @@ -18,6 +20,9 @@ ".config/dunst/" = ./configs/dunst; ".config/niri/" = ./configs/niri; ".config/rofi/" = ./configs/rofi; + ".config/foot" = ./configs/foot; + ".config/waybar/config.jsonc" = waybar.config; + ".config/waybar/style.css" = waybar.style; }; packages = builtins.attrValues { inherit @@ -38,7 +43,7 @@ dunst gh rofi-wayland - amadaluzian-foot + foot signal-desktop dino ; diff --git a/hosts/python/wrappers/default.nix b/hosts/python/wrappers/default.nix deleted file mode 100644 index ea8f50d..0000000 --- a/hosts/python/wrappers/default.nix +++ /dev/null @@ -1,2 +0,0 @@ -{...}: { -} diff --git a/hosts/python/wrappers/foot/default.nix b/hosts/python/wrappers/foot/default.nix deleted file mode 100644 index 2da7a25..0000000 --- a/hosts/python/wrappers/foot/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - foot, - symlinkJoin, - makeWrapper, -}: -symlinkJoin { - name = "foot"; - paths = [ - foot - ]; - nativeBuildInputs = [ - makeWrapper - ]; - postBuild = '' - wrapProgram $out/bin/foot \ - --add-flags "--config" \ - --add-flags ${./foot.ini} - ''; -} diff --git a/hosts/python/wrappers/waybar/default.nix b/hosts/python/wrappers/waybar/default.nix deleted file mode 100644 index a1735c2..0000000 --- a/hosts/python/wrappers/waybar/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - symlinkJoin, - waybar, - makeWrapper, - runCommand, - sass, -}: let - styleCss = - runCommand "style.css" { - nativeBuildInputs = [sass]; - } '' - sass ${./style.scss} > $out - ''; -in - symlinkJoin { - name = "waybar"; - paths = [ - waybar - ]; - nativeBuildInputs = [ - makeWrapper - ]; - postBuild = '' - wrapProgram $out/bin/waybar \ - --add-flags "--config" \ - --add-flags "${./config.jsonc}" \ - --add-flags "--style" \ - --add-flags "${styleCss}" - - rm $out/lib/systemd/user/waybar.service - substitute ${waybar}/lib/systemd/user/waybar.service $out/lib/systemd/user/waybar.service \ - --replace-fail ${waybar}/bin/waybar $out/bin/waybar \ - ''; - meta = { - inherit (waybar.meta) mainProgram; - }; - }