diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..cdc97fb --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,7 @@ +keys: + - &primary age1sseqwwa7fc0ftry8njyuagdg28fkmtdwmj6m7p3etjsj83suee3shfzjyz +creation_rules: + - path_regex: secrets/desktop-secrets.yaml$ + key_groups: + - age: + - *primary diff --git a/flake.lock b/flake.lock index 25a8c41..d9c9cad 100644 --- a/flake.lock +++ b/flake.lock @@ -121,6 +121,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1704290814, + "narHash": "sha256-LWvKHp7kGxk/GEtlrGYV68qIvPHkU9iToomNFGagixU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "70bdadeb94ffc8806c0570eb5c2695ad29f0e421", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "flatpaks": "flatpaks", @@ -128,9 +144,31 @@ "nix-colors": "nix-colors", "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs", + "sops-nix": "sops-nix", "tmux-plugin-manager": "tmux-plugin-manager" } }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1704908274, + "narHash": "sha256-74W9Yyomv3COGRmKi8zvyA5tL2KLiVkBeaYmYLjXyOw=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "c0b3a5af90fae3ba95645bbf85d2b64880addd76", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, "tmux-plugin-manager": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index cfbfcc6..d10c97f 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/desktop/keybinds.nix b/hosts/desktop/keybinds.nix index 33b7334..25ebba3 100644 --- a/hosts/desktop/keybinds.nix +++ b/hosts/desktop/keybinds.nix @@ -15,6 +15,7 @@ "$mod, F, fullscreen" "$mod, Z, togglesplit" "$mod, S, exec, ${pkgs.rofi}/bin/rofi -show drun -show-icons" + ",Print, exec, ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp -d)\" - | ${pkgs.wl-clipboard}/bin/wl-copy" "$mod, 1, workspace, 1" "$mod, 2, workspace, 2" diff --git a/hosts/desktop/shared-home.nix b/hosts/desktop/shared-home.nix index 07da72c..bbb6d3d 100644 --- a/hosts/desktop/shared-home.nix +++ b/hosts/desktop/shared-home.nix @@ -26,6 +26,7 @@ home.packages = with pkgs; [ ## Programs firefox + eww-wayland # (pkgs.writeShellScriptBin "my-hello" '' # echo "Hello, ${config.home.username}!" @@ -33,6 +34,7 @@ ## Fonts fira-code + (nerdfonts.override { fonts = [ "FiraCode" ]; }) ]; fonts.fontconfig.enable = true; diff --git a/hosts/desktop/wm.nix b/hosts/desktop/wm.nix index 0219770..6a37d05 100644 --- a/hosts/desktop/wm.nix +++ b/hosts/desktop/wm.nix @@ -3,9 +3,12 @@ { imports = [ ../../modules/home-manager/programs/hyprland.nix + ../../modules/home-manager/programs/eww ]; options.wm = { }; config = { + eww.enable = true; + hyprland.enable = true; hyprland.monitors = [ { diff --git a/modules/home-manager/programs/eww/default.nix b/modules/home-manager/programs/eww/default.nix new file mode 100644 index 0000000..9091ae7 --- /dev/null +++ b/modules/home-manager/programs/eww/default.nix @@ -0,0 +1,36 @@ +{ lib, config, pkgs, ... }: + +let + cfg = config.eww; + ewwDir = "${config.xdg.configHome}/eww"; +in +{ + imports = [ ]; + options.eww = with lib; with lib.types; { + enable = mkEnableOption ""; + }; + config = lib.mkIf cfg.enable { + + home.file."${ewwDir}/eww.yuck".source = ./eww.yuck; + home.file."${ewwDir}/eww.scss".source = ./eww.scss; + + home.file."${ewwDir}/vars.yuck".text = '' + ''; + + home.file."${ewwDir}/vars.scss".text = '' + $color-accent: #${config.theme.accent}; + $foreground: rgba(#${config.colorScheme.colors.base03}, 1); + $background: rgba(#${config.colorScheme.colors.base00}, 1); + + $shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); + $border-radius: 5px; + + @mixin box-style { + border-radius: $border-radius; + box-shadow: $shadow; + background-color: $color-background; + } + ''; + }; +} + diff --git a/modules/home-manager/programs/eww/eww.scss b/modules/home-manager/programs/eww/eww.scss new file mode 100644 index 0000000..1457eba --- /dev/null +++ b/modules/home-manager/programs/eww/eww.scss @@ -0,0 +1,28 @@ +@import "/home/guz/.config/eww/vars.scss"; + +* { + background-color: transparent; +} + +.bar { + @include box-style(); + + color: $color-accent; + font-family: 'Fira Code Nerd Font'; + font-weight: bold; + + background-color: $background; + padding: 5px 10px; + + .rightstuff { + // background-color: blue; + } + + .middlestuff { + // background-color: green; + } + + .leftstuff { + // background-color: red; + } +} diff --git a/modules/home-manager/programs/eww/eww.yuck b/modules/home-manager/programs/eww/eww.yuck new file mode 100644 index 0000000..7ef0d22 --- /dev/null +++ b/modules/home-manager/programs/eww/eww.yuck @@ -0,0 +1,50 @@ +(include "/home/guz/.config/eww/vars.yuck"); + +(defpoll time :interval "10s" + :initial "00:00:00" + `date +%H:%M`) + +(defpoll date :interval "1m" + :initial "00:00:00" + `date +%d/%m`) + + +(defwidget empty [] "") + +(defwidget date [] + (box :orientation "h" + "${date}  ${time}")) + +(defwindow bar + :monitor 0 + :geometry (geometry :x "0%" + :y "5px" + :width "99.2%" + :height "20px" + :anchor "top center") + :stacking "fg" + :reserve (struts :distance "40px" :side "top") + :windowtype "dock" + :wm-ignore false + :exclusive true + (centerbox :orientation "h" + :class "bar" + (centerbox :orientation "h" + :halign "start" + :class "rightstuff" + (empty) + (empty) + (empty)) + (centerbox :orientation "h" + :halign "center" + :class "middlestuff" + (empty) + (empty) + (empty)) + (centerbox :orientation "h" + :halign "end" + :class "leftstuff" + (empty) + (empty) + (date)))) + diff --git a/secrets/desktop-secrets.yaml b/secrets/desktop-secrets.yaml new file mode 100644 index 0000000..1aed3a6 --- /dev/null +++ b/secrets/desktop-secrets.yaml @@ -0,0 +1,22 @@ +lat: ENC[AES256_GCM,data:C1bJHXoy,iv:hSpUpB74mFJm/b7EgLcvp+M+AY4DVzwZHGYHTx9n6K4=,tag:x7ZZ7Uea9aS/TrDLezvMeQ==,type:float] +lon: ENC[AES256_GCM,data:831hTxaRam4NBQ==,iv:+YeNizL7Tqp3vu6I8yyuxLxViQgJUrfDCKBFSSky0Xw=,tag:qvQLQykJ7ij+XIKAuZQOAA==,type:float] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1sseqwwa7fc0ftry8njyuagdg28fkmtdwmj6m7p3etjsj83suee3shfzjyz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBieTdSNVJ5NVBwczRUM3By + T01WWmxvQ2RBbzlaMG9oNVBDN21Rd2hsNnc4Ci9tdFhJbUNHK09WNUM5WDJKMUEz + Rm1pZXE0cVVQcHZoRjRESTFYQzJ5R28KLS0tIG1jZmpKVC9obUtneTIzWmlvK09l + Nm1UT1pUeWJhS1hhUWo4b3A1RElKNG8KIzbqwoCynolclZkZ3AiIkqpGjEBUZPo2 + h8Y3Rx2QASD6tg9jlxRqGtbXe+mNgcCNTt7cdOyhndQzzq/2GfbujA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-01-12T16:30:51Z" + mac: ENC[AES256_GCM,data:1LhytMdnYlN82+cyqnRaPu4QyAAa0dwS1krDD3ZhuZpp0SfHrgApX9BN38ZaAmWKjwhcAvVjhhLBevZJeWmfbsg7DVRkyptXrjv6Gr66szkfhA/PE286JM3U66UeZmU9FkB5XJqT/PL86jr5rUiY4yTYoixcXbs9OEQJ66qIr4M=,iv:RSPVzk+W0gEsPQ22O0wENf/c+iBXIW9zpeP1QY8XjBE=,tag:O41GNx6w2a2LP0oooNiEfw==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.8.1