diff --git a/modules/config/instances/config/glance.nix b/modules/config/instances/config/glance.nix new file mode 100644 index 0000000..b2dd644 --- /dev/null +++ b/modules/config/instances/config/glance.nix @@ -0,0 +1,34 @@ +{ instancesFunctions }: +let + inherit (instancesFunctions) + domain0 + servicePath + sslPath + sopsPath + ; + + glanceLabel = "Glance"; + glanceName = "glance"; + glanceSubdomain = "dashboard"; +in +{ + label = glanceLabel; + name = glanceName; + email = { + address0 = "noreply@${domain0}"; + }; + sops = { + path0 = "${sopsPath}/${glanceName}"; + }; + subdomain = glanceSubdomain; + paths = { + path0 = "${servicePath}/${glanceLabel}"; + }; + ports = { + port0 = 3434; + }; + ssl = { + cert = "${sslPath}/${glanceSubdomain}.${domain0}/fullchain.pem"; + key = "${sslPath}/${glanceSubdomain}.${domain0}/key.pem"; + }; +} diff --git a/modules/home/default.nix b/modules/home/default.nix index f2eaa28..bd4355b 100755 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -71,6 +71,7 @@ in theming printManager finamp + lingot ; }; }; diff --git a/modules/home/gui/apps/browsers/floorp/config/search/config/socialMedia.nix b/modules/home/gui/apps/browsers/floorp/config/search/config/socialMedia.nix index 37813d1..c289f57 100755 --- a/modules/home/gui/apps/browsers/floorp/config/search/config/socialMedia.nix +++ b/modules/home/gui/apps/browsers/floorp/config/search/config/socialMedia.nix @@ -1,5 +1,5 @@ { - "Reddit" = { + "reddit" = { definedAliases = [ "@re" ]; @@ -8,7 +8,7 @@ { template = "https://www.reddit.com/search/?q={searchTerms}"; } ]; }; - "YouTube" = { + "youtube" = { definedAliases = [ "@yo" ]; diff --git a/modules/home/gui/apps/tools/lingot/default.nix b/modules/home/gui/apps/tools/lingot/default.nix new file mode 100644 index 0000000..725e0e8 --- /dev/null +++ b/modules/home/gui/apps/tools/lingot/default.nix @@ -0,0 +1,12 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + lingot + tonelib-gfx + ; + }; +} diff --git a/modules/home/gui/desktop/hypr/land/config/bind.nix b/modules/home/gui/desktop/hypr/land/config/bind.nix index 9fdd505..c78dee8 100755 --- a/modules/home/gui/desktop/hypr/land/config/bind.nix +++ b/modules/home/gui/desktop/hypr/land/config/bind.nix @@ -21,17 +21,17 @@ let "Z, exec, obsidian" "H, exec, feishin" "G, exec, scrcpy" - "L, exec, thunar" + "R, exec, thunar" "S, exec, steam" - "R, exec, ghostty -e zellij a dotfiles" + "E, exec, ghostty -e y" "N, exec, signal-desktop" "T, exec, zeditor" "B, exec, floorp" - "X, exec, freetube" + "Y, exec, freetube" "V, exec, vesktop" "M, exec, element-desktop" "D, exec, ghostty" - "P, exec, bitwarden" + "W, exec, bitwarden" # Workspaces "1, workspace, 1" "2, workspace, 2" @@ -39,55 +39,40 @@ let "4, workspace, 4" "5, workspace, 5" # Windows - "Tab, killactive" + "X, killactive" + "F, togglefloating" + "Backspace, layoutmsg, togglesplit" + "Tab, fullscreen, 0" # Window Focus - "C, movefocus, l" - "A, movefocus, u" - "E, movefocus, d" - "I, movefocus, r" - "F, splitratio, 0.33" - "O, splitratio, -0.33" + "Left, movefocus, l" + "Up, movefocus, u" + "Down, movefocus, d" + "Right, movefocus, r" + "bracketleft, splitratio, -0.33" + "bracketright, splitratio, 0.33" # Audio "Page_Up, exec, playerctl next" "Page_Down, exec, playerctl previous" "Home, exec, playerctl play-pause" "Space, exec, fuzzel" - ]; - - superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [ - # Super+shift binds - - # Quick Action - "T, exec, ghostty" - "S, exec, flameshot gui" - "period, exec, emote" - "Tab, fullscreen, 0" - "Backspace, layoutmsg, togglesplit" - "P, pin, enable" - "F, togglefloating" - # "Print, exec, grim -g \"$(slurp)\"" # Utility "End, exec, shutdown now" "Insert, exec, systemctl reboot" "Home, exec, swaylock" ]; + + superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [ + # Super+shift binds + "S, exec, flameshot gui" + "period, exec, emote" + # "Print, exec, grim -g \"$(slurp)\"" + ]; superCtrlBinds = builtins.map (x: "SUPER CTRL, " + x) [ # Super+shift binds - ]; altBinds = builtins.map (x: "CTRL ALT, " + x) [ # Alt binds - "1, movetoworkspacesilent, 1" - "2, movetoworkspacesilent, 2" - "3, movetoworkspacesilent, 3" - "4, movetoworkspacesilent, 4" - "5, movetoworkspacesilent, 5" - # Window Move - "C, movewindow, l" - "A, movewindow, u" - "E, movewindow, d" - "I, movewindow, r" ]; shiftBinds = builtins.map (x: "SHIFT, " + x) [ @@ -100,7 +85,17 @@ let ctrlShiftBinds = builtins.map (x: "CTRL SHIFT, " + x) [ # Ctrl+shift binds - # "End, exec, shutdown now" + # Window + "1, movetoworkspacesilent, 1" + "2, movetoworkspacesilent, 2" + "3, movetoworkspacesilent, 3" + "4, movetoworkspacesilent, 4" + "5, movetoworkspacesilent, 5" + # Window Move + "Left, movewindow, l" + "Up, movewindow, u" + "Down, movewindow, d" + "Right, movewindow, r" ]; functionBinds = builtins.map (x: " , " + x) [ diff --git a/modules/home/gui/desktop/hypr/land/config/windowrulev2.nix b/modules/home/gui/desktop/hypr/land/config/windowrulev2.nix index 78d0f1e..f8e11e4 100755 --- a/modules/home/gui/desktop/hypr/land/config/windowrulev2.nix +++ b/modules/home/gui/desktop/hypr/land/config/windowrulev2.nix @@ -1,7 +1,7 @@ let blueman = "(.blueman-manager-wrapped)"; calculator = "(org.gnome.Calculator)"; - easyeffects = "(com.github.wwmm.easyeffects)"; + pavucontrol = "(org.pulseaudio.pavucontrol)"; floorp = "(floorp)"; nomacs = "(org.nomacs.ImageLounge)"; mpv = "(mpv)"; @@ -27,7 +27,6 @@ let maxsizeWindows = [ "maxsize 720 400, class:^${blueman}$" "maxsize 360 500, class:^${calculator}$" - "maxsize 720 400, class:^${easyeffects}$" # "maxsize 720 400, class:^${scrcpy}$" "maxsize 720 400, class:^${mpv}$" "maxsize 720 400, class:^${vlc}$" @@ -40,13 +39,14 @@ let "maxsize 1280 720, title:^${battle}$" "minsize 1280 720, title:^${battle}$" "maxsize 1280 720, title:^${upload}$" + "minsize 1280 720, class:^${pavucontrol}$" "minsize 1280 720, title:^${upload}$" ]; floatWindows = builtins.map (x: "float, " + x) [ "class:^${blueman}$" "class:^${calculator}$" - "class:^${easyeffects}$" + "class:^${pavucontrol}$" "class:^${emote}$" "class:^${mpv}$" "class:^${vlc}$" @@ -95,7 +95,7 @@ let centerWindows = builtins.map (x: "center, " + x) [ "class:^${blueman}$" "class:^${calculator}$" - "class:^${easyeffects}$" + "class:^${pavucontrol}$" "class:^${emote}$" "class:^${mpv}$" "class:^${vlc}$" diff --git a/modules/home/gui/desktop/niri/config/binds.nix b/modules/home/gui/desktop/niri/config/binds.nix index f04d3fc..9584bff 100755 --- a/modules/home/gui/desktop/niri/config/binds.nix +++ b/modules/home/gui/desktop/niri/config/binds.nix @@ -29,26 +29,29 @@ in "Super+l".action = niri.spawn "slack"; "Super+h".action = niri.spawn "feishin"; "Super+g".action = niri.spawn "scrcpy"; - "Super+k".action = niri.spawn "ghostty -e nu -e y"; + "Super+e".action = niri.spawn "ghostty -e nu -e y"; "Super+s".action = niri.spawn "steam"; - "Super+r".action = niri.spawn "ghostty -e zellij a dotfiles"; "Super+n".action = niri.spawn "signal-desktop"; "Super+t".action = niri.spawn "zeditor"; + "Super+r".action = niri.spawn "thunar"; "Super+b".action = niri.spawn "floorp"; - "Super+x".action = niri.spawn "freetube"; + "Super+y".action = niri.spawn "freetube"; "Super+v".action = niri.spawn "vesktop"; "Super+m".action = niri.spawn "element-desktop"; "Super+d".action = niri.spawn "ghostty"; - "Super+p".action = niri.spawn "bitwarden"; + "Super+w".action = niri.spawn "bitwarden"; "Super+Space".action = niri.spawn "fuzzel"; + "Super+Tab".action = niri.close-window; "Super+u".action = niri.maximize-column; "Super+comma".action = niri.focus-workspace-down; "Super+period".action = niri.focus-workspace-up; - "Super+f".action = niri.swap-window-left; - "Super+o".action = niri.swap-window-right; - - "Super+w".action = niri.switch-preset-column-width; + "Super+left".action = niri.move-column-left; + "Super+right".action = niri.move-column-right; + "Super+f".action = niri.fullscreen-window; + "Super+q".action = niri.switch-preset-column-width; + "Super+minus".action = niri.set-column-width "-10%"; + "Super+plus".action = niri.set-column-width "+10%"; # "Ctrl+Alt+1".action = niri.move-window-to-workspace workspaceStrings.workspace0 # "Ctrl+Alt+2".action = niri.move-window-to-workspace workspaceStrings.workspace1 @@ -68,15 +71,8 @@ in "Super+3".action = niri.focus-window-or-workspace-down; "Super+4".action = niri.focus-column-or-monitor-right; - "Super+Shift+t".action = niri.spawn "ghostty"; "Super+Shift+s".action = niri.spawn "flameshot gui"; "Super+Shift+period".action = niri.spawn "emote"; - "Super+Shift+Tab".action = niri.fullscreen-window; - - "Ctrl+Alt+c".action = niri.move-column-left; - "Ctrl+Alt+i".action = niri.move-column-right; - "Ctrl+Alt+f".action = niri.set-column-width "-10%"; - "Ctrl+Alt+o".action = niri.set-column-width "+10%"; "XF86MonBrightnessUp".action = niri.spawn "brightnessctl -d ${deviceLogic "amdgpu_bl1" ""} s +10%"; "XF86MonBrightnessDown".action = diff --git a/modules/home/gui/desktop/wayland/easyEffects/default.nix b/modules/home/gui/desktop/wayland/easyEffects/default.nix index 6a94385..f17fb87 100755 --- a/modules/home/gui/desktop/wayland/easyEffects/default.nix +++ b/modules/home/gui/desktop/wayland/easyEffects/default.nix @@ -1,3 +1,3 @@ { - services.easyeffects.enable = true; + services.easyeffects.enable = false; } diff --git a/modules/home/gui/desktop/wayland/pavucontrol/default.nix b/modules/home/gui/desktop/wayland/pavucontrol/default.nix new file mode 100644 index 0000000..d0486e7 --- /dev/null +++ b/modules/home/gui/desktop/wayland/pavucontrol/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + pavucontrol + ; + }; +} diff --git a/modules/home/gui/desktop/wayland/waybar/config/settings.nix b/modules/home/gui/desktop/wayland/waybar/config/settings.nix index 77059cb..fa44811 100755 --- a/modules/home/gui/desktop/wayland/waybar/config/settings.nix +++ b/modules/home/gui/desktop/wayland/waybar/config/settings.nix @@ -104,7 +104,7 @@ in format = "{icon} {volume}%"; tooltip = false; format-muted = " Muted"; - on-click = "easyeffects"; + on-click = "pavucontrol"; on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +5%"; on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -5%"; scroll-step = 5; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 4e3cc51..a13a6b3 100755 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -10,6 +10,7 @@ in mullvad syncthing ollama + glance plasma sddm hypr diff --git a/modules/nixos/services/glance/assets/logo.png b/modules/nixos/services/glance/assets/logo.png new file mode 100755 index 0000000..6807b22 Binary files /dev/null and b/modules/nixos/services/glance/assets/logo.png differ diff --git a/modules/nixos/services/glance/default.nix b/modules/nixos/services/glance/default.nix new file mode 100644 index 0000000..0f07158 --- /dev/null +++ b/modules/nixos/services/glance/default.nix @@ -0,0 +1,154 @@ +{ config, flake, ... }: +let + inherit (flake.config.people) user0; + inherit (flake.config.services.instances) glance web; + inherit (flake.config.machines.devices) ceres; + service = glance; +in +{ + services = { + glance = { + enable = true; + settings = { + server = { + # assets-path = "/home/${user0}/Files/Projects/dotfiles/modules/nixos/services/glance/assets"; + port = service.ports.port0; + }; + # auth = { + # secret-key = config.sops.secrets."${service.name}-key".path; + # users.${user0}.password = config.sops.secrets."${service.name}-${user0}-pass".path; + # }; + branding = { + hide-footer = true; + # logo-url = /assets/logo.png; + # favicon-url = /assets/logo.png; + # app-name = "My Dashboard"; + # app-icon-url = "/assets/app-icon.png"; + # app-background-color = "#151519"; + }; + theme = { + background-color = "232 23 18"; + contrast-multiplier = 1.2; + primary-color = "220 83 75"; + positive-color = "105 48 72"; + negative-color = "351 74 73"; + }; + pages = [ + { + columns = [ + { + size = "full"; + widgets = [ + { + type = "rss"; + title = "Podcasts"; + style = "detailed-list"; + collapse-after = 6; + feeds = [ + { + url = "https://sigmanutrition.libsyn.com/rss/"; + title = "Sigma Nutrition Radio"; + } + { + url = "https://wakingup.libsyn.com/rss"; + title = "Making Sense with Sam Harris"; + } + { + url = "https://feeds.simplecast.com/uNKL_XD_"; + title = "Docs Who Lift"; + } + ]; + } + ]; + } + { + size = "small"; + widgets = [ + { + type = "calendar"; + title = "Calendar"; + style = "vertical-cards"; + } + { + type = "weather"; + title = "Weather"; + units = "metric"; + hour-format = "12h"; + location = "Winnipeg, Manitoba, Canada"; + } + { + type = "clock"; + hour-format = "12h"; + timezones = [ + { + timezone = "America/Winnipeg"; + label = "Winnipeg, MB"; + } + { + timezone = "Europe/Berlin"; + label = "Berlin, DE"; + } + { + timezone = "Asia/Kolkata"; + label = "Kolkata, IN"; + } + { + timezone = "Asia/Tokyo"; + label = "Tokyo, JP"; + } + ]; + } + ]; + } + ]; + name = "Dashboard"; + } + ]; + }; + }; + # sops = + # let + # sopsPath = secret: { + # path = "${service.sops.path0}/${service.name}-${secret}"; + # owner = service.name; + # mode = "600"; + # }; + # in + # { + # secrets = builtins.listToAttrs ( + # map + # (secret: { + # name = "${service.name}-${secret}"; + # value = sopsPath secret; + # }) + # [ + # "key" + # "${user0}-pass" + # ] + # ); + # }; + # fileSystems."/var/lib/${service.name}" = { + # device = service.paths.path0; + # fsType = "none"; + # options = [ + # "bind" + # ]; + # depends = [ + # ceres.storage0.mount + # ]; + # }; + + # systemd.tmpfiles.rules = [ + # "Z ${service.paths.path0} 755 ${service.name} ${service.name} -" + # "Z ${service.sops.path0} 755 ${service.name} ${service.name} -" + # ]; + + }; + networking = { + firewall = { + allowedTCPPorts = [ + service.ports.port0 + ]; + }; + }; +} diff --git a/systems/mars/config/filesystem.nix b/systems/mars/config/filesystem.nix index 7c21811..8ed6745 100755 --- a/systems/mars/config/filesystem.nix +++ b/systems/mars/config/filesystem.nix @@ -67,11 +67,11 @@ in in { "/" = { - device = "/dev/disk/by-uuid/6328deb2-075a-471e-8396-459921a82832"; + device = "/dev/disk/by-uuid/cca4aaac-9f98-42a5-8bcc-81c7048aad84"; fsType = "ext4"; }; "/boot" = { - device = "/dev/disk/by-uuid/6152-9BBC"; + device = "/dev/disk/by-uuid/7199-F75B"; fsType = "vfat"; options = mars.boot.options; }; @@ -83,7 +83,7 @@ in )); swapDevices = [ - { device = "/dev/disk/by-uuid/c8839bac-980b-4b24-9c36-504965acc964"; } + { device = "/dev/disk/by-uuid/d9c787ac-9f10-41a4-8702-242922f44056"; } ]; systemd.tmpfiles.rules = [ diff --git a/systems/mars/config/networking.nix b/systems/mars/config/networking.nix index c47175d..4373d9c 100755 --- a/systems/mars/config/networking.nix +++ b/systems/mars/config/networking.nix @@ -23,7 +23,7 @@ in 3131 # Deskreen 1234 # Elm-land server 5037 # ADB Server - 32929 + 39724 ]; }; };