From b8c6aa3ec03c29e504328065e5ae6b7ad43f041c Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Tue, 18 Feb 2025 13:01:44 -0500 Subject: [PATCH] adding filen, fixing up emacs and lsps --- flake.lock | 18 +- flake.nix | 3 +- homes/emenel/default.nix | 5 +- .../dotfiles/dot_config/isd_tui/config.yaml | 2 + .../dotfiles/dot_local/bin/dim-all-monitors | 3 +- .../dot_local/bin/lock-power-off-monitors | 2 +- .../dotfiles/dot_local/bin/lock-suspend | 2 +- homes/emenel/dotfiles/dot_local/bin/on-unlock | 2 +- .../dotfiles/dot_local/bin/session-lock | 2 + hosts/eddie/configuration.nix | 1 + modules/home/desktop.nix | 246 +++++++++--------- modules/home/emacs.nix | 5 +- modules/home/hypridle.nix | 4 +- modules/home/niri.nix | 8 +- modules/home/shell-conf.nix | 38 ++- modules/home/waybar.nix | 2 +- packages/filen-desktop.nix | 44 ++++ 17 files changed, 229 insertions(+), 158 deletions(-) create mode 100644 homes/emenel/dotfiles/dot_config/isd_tui/config.yaml create mode 100755 homes/emenel/dotfiles/dot_local/bin/session-lock create mode 100644 packages/filen-desktop.nix diff --git a/flake.lock b/flake.lock index 43db891..36bfb29 100644 --- a/flake.lock +++ b/flake.lock @@ -69,11 +69,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1739844449, - "narHash": "sha256-NtddqudRBSTT1FTkBKEo+CRhZjSwRvimyeAxoRcXTKo=", + "lastModified": 1739895788, + "narHash": "sha256-il5UJ8RpJA7DeeeguiBxQnDPGpRnqPJvQR5JS76pEH4=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "53b218d3d3d187724e86b2a63ce9a960d005faac", + "rev": "d3b44edf424120461ea2c3e4f0db3857d19fa21d", "type": "github" }, "original": { @@ -712,11 +712,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1739824279, - "narHash": "sha256-373u7+WYbKZDZ6gerTcXjdcqR0bR33nRfOU5XcY/MBY=", + "lastModified": 1739876011, + "narHash": "sha256-dER5F0i3gkEamO8WKHYO8JbTQZUY5PFmj9Vyl+gj8zI=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "fad7cbe279fb9a550896de1179982ce2d4734e5c", + "rev": "da9eb08bcff07dafcd1d563d89c43ab00ba5d07e", "type": "github" }, "original": { @@ -745,11 +745,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1739820990, - "narHash": "sha256-v+MmVqFyjzL9xzyRzfX+1qMIGgoHcW73P9b8RrM922k=", + "lastModified": 1739872242, + "narHash": "sha256-rk9yKCwmOrezXbRN/lqQsQxu/Wuv8HFKTs5RiDK9GUU=", "owner": "YaLTeR", "repo": "niri", - "rev": "44c9797844ca7ce8a708d5034f1259ce3fc6bd2a", + "rev": "ad49e5820a857dea88cfb26ef71d56ffe88ca91d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8f3a2c6..1f9ee64 100644 --- a/flake.nix +++ b/flake.nix @@ -83,7 +83,8 @@ home-manager, self, ... - }@inputs: + } @inputs: + let inherit (nixpkgs.lib) genAttrs replaceStrings; inherit (nixpkgs.lib.filesystem) packagesFromDirectoryRecursive listFilesRecursive; diff --git a/homes/emenel/default.nix b/homes/emenel/default.nix index 05dec62..df37833 100644 --- a/homes/emenel/default.nix +++ b/homes/emenel/default.nix @@ -111,10 +111,6 @@ enable = true; package = pkgs.playerctl; }; - syncthing = { - enable = true; - # tray.enable = true; - }; borgmatic = { enable = true; }; @@ -137,6 +133,7 @@ MOZ_ENABLE_WAYLAND = 1; XCURSOR_SIZE = 32; XCURSOR_THEME = "Bibata-Modern-Classic"; + DISPLAY = ":0"; }; }; diff --git a/homes/emenel/dotfiles/dot_config/isd_tui/config.yaml b/homes/emenel/dotfiles/dot_config/isd_tui/config.yaml new file mode 100644 index 0000000..64b0e24 --- /dev/null +++ b/homes/emenel/dotfiles/dot_config/isd_tui/config.yaml @@ -0,0 +1,2 @@ +cache_input: False +editor: "auto" diff --git a/homes/emenel/dotfiles/dot_local/bin/dim-all-monitors b/homes/emenel/dotfiles/dot_local/bin/dim-all-monitors index caef022..11ae5a3 100755 --- a/homes/emenel/dotfiles/dot_local/bin/dim-all-monitors +++ b/homes/emenel/dotfiles/dot_local/bin/dim-all-monitors @@ -1,2 +1,3 @@ #!/bin/sh -brillo -e -O && brillo -e -u 150000 -S 15 +brillo -e -O +brillo -e -u 150000 -S 15 diff --git a/homes/emenel/dotfiles/dot_local/bin/lock-power-off-monitors b/homes/emenel/dotfiles/dot_local/bin/lock-power-off-monitors index cb6db3c..69a4956 100755 --- a/homes/emenel/dotfiles/dot_local/bin/lock-power-off-monitors +++ b/homes/emenel/dotfiles/dot_local/bin/lock-power-off-monitors @@ -1,2 +1,2 @@ #!/bin/sh -brillo -e -O && niri msg action power-off-monitors +niri msg action power-off-monitors diff --git a/homes/emenel/dotfiles/dot_local/bin/lock-suspend b/homes/emenel/dotfiles/dot_local/bin/lock-suspend index 3358499..6dba79c 100755 --- a/homes/emenel/dotfiles/dot_local/bin/lock-suspend +++ b/homes/emenel/dotfiles/dot_local/bin/lock-suspend @@ -1,2 +1,2 @@ #!/bin/sh -brillo -e -O && systemctl suspend +systemctl suspend diff --git a/homes/emenel/dotfiles/dot_local/bin/on-unlock b/homes/emenel/dotfiles/dot_local/bin/on-unlock index 55e9c56..0ab7e3e 100755 --- a/homes/emenel/dotfiles/dot_local/bin/on-unlock +++ b/homes/emenel/dotfiles/dot_local/bin/on-unlock @@ -1,2 +1,2 @@ #!/bin/sh -shikanectl reload && brillo -e -u 150000 -I +brillo -e -u 15000 -I diff --git a/homes/emenel/dotfiles/dot_local/bin/session-lock b/homes/emenel/dotfiles/dot_local/bin/session-lock new file mode 100755 index 0000000..c8a6588 --- /dev/null +++ b/homes/emenel/dotfiles/dot_local/bin/session-lock @@ -0,0 +1,2 @@ +#!/bin/sh +pidof hyprlock || hyprlock diff --git a/hosts/eddie/configuration.nix b/hosts/eddie/configuration.nix index 08bac38..1e1f53c 100644 --- a/hosts/eddie/configuration.nix +++ b/hosts/eddie/configuration.nix @@ -442,6 +442,7 @@ iosevka spleen fira-code-symbols + blackout powerline-fonts noto-fonts-color-emoji noto-fonts diff --git a/modules/home/desktop.nix b/modules/home/desktop.nix index 39a91e9..67373b6 100644 --- a/modules/home/desktop.nix +++ b/modules/home/desktop.nix @@ -1,121 +1,127 @@ -{ pkgs, nix-config, ... }: +{ pkgs, nix-config, lib, ... }: { - home.packages = with pkgs; [ - appimage-run - libappimage - transmission_4-gtk - wl-clipboard - clipse - maim - wayland-utils - libheif.out - rpi-imager - thonny - freecad - flatpak - gst_all_1.gstreamer - prusa-slicer - via - vial - scribus - pdfarranger - tdf - pdfchain - pdftk - zathura - gpu-viewer - foliate - wl-mirror - soundconverter - wmctrl - godot_4 - gdtoolkit_4 - sane-airscan - xsane + home.packages = lib.mkMerge [ + (with nix-config.packages.x86_64-linux; [ + filen-desktop + ]) - nix-config.pkgs-stable.bitwarden-cli - bitwarden-desktop - tailscale - trayscale - font-manager + (with pkgs; [ + appimage-run + libappimage + transmission_4-gtk + wl-clipboard + clipse + maim + wayland-utils + libheif.out + rpi-imager + thonny + freecad + flatpak + gst_all_1.gstreamer + prusa-slicer + via + vial + scribus + pdfarranger + tdf + pdfchain + pdftk + zathura + gpu-viewer + foliate + wl-mirror + soundconverter + wmctrl + godot_4 + gdtoolkit_4 + sane-airscan + xsane - squirreldisk - papers - newsflash + nix-config.pkgs-stable.bitwarden-cli + bitwarden-desktop + tailscale + trayscale + font-manager - stirling-pdf - ripdrag + squirreldisk + papers + newsflash - sway-launcher-desktop - swayidle - thunderbird-latest - emojify - smile + stirling-pdf + ripdrag - impression - zoom-us - nyxt - ungoogled-chromium - obsidian - vlc - polychromatic - discord - slack - signal-desktop - eyedropper - onlyoffice-desktopeditors - libreoffice - hyphenDicts.en_US - plex-mpv-shim - plexamp - plex-media-player + sway-launcher-desktop + swayidle + thunderbird-latest + emojify + smile - switcheroo + impression + zoom-us + nyxt + ungoogled-chromium + obsidian + vlc + polychromatic + discord + slack + signal-desktop + eyedropper + onlyoffice-desktopeditors + libreoffice + hyphenDicts.en_US + plex-mpv-shim + plexamp + plex-media-player - nix-config.pkgs-stable.blender - davinci-resolve-studio - steam - processing - zotero - fractal - handbrake - krita - rawtherapee - inkscape - gimp - epsonscan2 - kicad - turbocase - openscad-unstable - openscad-lsp - picard - evolutionWithPlugins - plugdata - pavucontrol - qpwgraph - helvum - coppwr - clapper - ardour - oculante - farge - halloy - paleta - wayback - protonplus - fstl + switcheroo - nwg-look + nix-config.pkgs-stable.blender + davinci-resolve-studio + steam + processing + zotero + fractal + handbrake + krita + rawtherapee + inkscape + gimp + epsonscan2 + kicad + turbocase + openscad-unstable + openscad-lsp + picard + evolutionWithPlugins + plugdata + pavucontrol + qpwgraph + helvum + coppwr + clapper + ardour + oculante + farge + halloy + paleta + wayback + protonplus + fstl - kooha - obs-studio - obs-studio-plugins.wlrobs - obs-studio-plugins.obs-gstreamer + nwg-look - wineWowPackages.stagingFull - winetricks + kooha + obs-studio + obs-studio-plugins.wlrobs + obs-studio-plugins.obs-gstreamer + + wineWowPackages.stagingFull + winetricks + ]) ]; home.pointerCursor = { @@ -135,9 +141,9 @@ theme = { name = "Colloid"; package = pkgs.colloid-gtk-theme.override { - colorVariants = [ "dark" ]; - tweaks = [ "normal" "nord" ]; - themeVariants = [ "grey" ]; + colorVariants = [ "dark" ]; + tweaks = [ "normal" "nord" ]; + themeVariants = [ "grey" ]; }; }; iconTheme = { @@ -150,8 +156,8 @@ enable = true; platformTheme.name = "gtk3"; style = { - package = pkgs.adwaita-qt; - name = "adwaita-dark"; + package = pkgs.adwaita-qt; + name = "adwaita-dark"; }; }; @@ -162,16 +168,16 @@ }; services = { - flatpak = { - enable = true; - packages = [ - "com.github.tchx84.Flatseal" - "dev.qwery.AddWater" - ]; - }; - swayosd = { - enable = true; - }; + flatpak = { + enable = true; + packages = [ + "com.github.tchx84.Flatseal" + "dev.qwery.AddWater" + ]; + }; + swayosd = { + enable = true; + }; }; programs = { diff --git a/modules/home/emacs.nix b/modules/home/emacs.nix index a451e38..f4ad055 100644 --- a/modules/home/emacs.nix +++ b/modules/home/emacs.nix @@ -9,8 +9,9 @@ let epkgs.geiser-racket epkgs.editorconfig epkgs.shfmt - epkgs.nixpkgs-fmt - epkgs.nixfmt + # epkgs.nixpkgs-fmt + # epkgs.nixfmt + epkgs.apheleia epkgs.parinfer-rust-mode epkgs.manualPackages.tree-sitter-langs epkgs.manualPackages.treesit-grammars.with-all-grammars diff --git a/modules/home/hypridle.nix b/modules/home/hypridle.nix index 27422a3..a94f3ed 100644 --- a/modules/home/hypridle.nix +++ b/modules/home/hypridle.nix @@ -5,8 +5,8 @@ package = inputs.hypridle.packages.x86_64-linux.default; settings = { general = { - lock_cmd = "brillo -e -O && pidof hyprlock || hyprlock"; - before_sleep_cmd = "brillo -e -O && loginctl lock-session"; + lock_cmd = "/home/emenel/.local/bin/session-lock"; + before_sleep_cmd = "loginctl lock-session"; after_sleep_cmd = "/home/emenel/.local/bin/on-unlock"; ignore_dbus_inhibit = false; ignore_systemd_inhibit = false; diff --git a/modules/home/niri.nix b/modules/home/niri.nix index 4819c6e..1c1051b 100644 --- a/modules/home/niri.nix +++ b/modules/home/niri.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, nix-config, pkgs, ... }: with pkgs.lib.nix-rice; let strPalette = palette.toRGBHex pkgs.rice.colorPalette; in { @@ -11,10 +11,10 @@ in { prefer-no-csd = true; spawn-at-startup = [ - { command = ["maestral_qt"]; } { command = ["clipse" "-listen"]; } - { command = ["waybar"]; } - { command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" "shikane.service" ]; } + { command = [ "${nix-config.packages.x86_64-linux.filen-desktop}/bin/filen-desktop" ]; } + # { command = ["waybar"]; } + { command = [ "systemctl" "--user" "restart" "xwayland-satellite.service" "shikane.service" "waybar.service" ]; } ]; workspaces = { diff --git a/modules/home/shell-conf.nix b/modules/home/shell-conf.nix index ec6c39e..2908fab 100644 --- a/modules/home/shell-conf.nix +++ b/modules/home/shell-conf.nix @@ -59,8 +59,6 @@ nvd ripgrep-all silver-searcher - maestral - maestral-gui powertop age kdotool @@ -68,19 +66,35 @@ caligula - # global node packages - nodePackages.typescript-language-server - nodePackages.vscode-langservers-extracted - nodePackages.prettier - # nodePackages.javascript-typescript-langserver - nodePackages.stylelint - nodePackages.svelte-language-server - nodePackages.typescript - nodePackages.js-beautify + yaml-language-server + typescript-language-server + svelte-language-server + bash-language-server + nginx-language-server + lua-language-server + lemminx + stylelint-lsp + htmx-lsp + autotools-language-server + arduino-language-server + ccls + vscode-langservers-extracted + java-language-server + nix-config.pkgs-stable.javascript-typescript-langserver + haskell-language-server + cmake-language-server + stylelint-lsp + + black + jsbeautifier + typescript + prettierd + stylelint nixd nixdoc nix-init + alejandra git-annex bfg-repo-cleaner @@ -263,6 +277,8 @@ xdg.configFile."just/justfile".source = ../../homes/emenel/dotfiles/dot_config/just/justfile; xdg.configFile."git".source = ../../homes/emenel/dotfiles/dot_config/git; xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw; + xdg.configFile."isd_tui/config.yaml".source = ../../homes/emenel/dotfiles/dot_config/isd_tui/config.yaml; + home.file.".config/fish/functions" = { source = ../../homes/emenel/dotfiles/dot_config/fish/functions; recursive = true; diff --git a/modules/home/waybar.nix b/modules/home/waybar.nix index 3e8e5d0..ef3a28f 100644 --- a/modules/home/waybar.nix +++ b/modules/home/waybar.nix @@ -6,7 +6,7 @@ in { programs.waybar = { enable = true; package = pkgs.waybar; - systemd.enable = false; + systemd.enable = true; style = '' * { border: none; diff --git a/packages/filen-desktop.nix b/packages/filen-desktop.nix new file mode 100644 index 0000000..39e9d4c --- /dev/null +++ b/packages/filen-desktop.nix @@ -0,0 +1,44 @@ +{ lib +, fetchurl +, makeWrapper +, appimageTools +, libappindicator-gtk3 +, pkgs +}: +let + pname = "filen-desktop"; + version = "latest"; + + src = pkgs.fetchurl { + url = + "https://cdn.filen.io/@filen/desktop/release/latest/Filen_linux_x86_64.AppImage"; + sha256 = "sha256-keaD5PUjkoFrFTCuap4DvmYq5X3Tjnq+njtiLgAZ9W8="; + }; + + appimageContents = appimageTools.extractType2 { inherit pname version src; }; + name = "filendesktop"; + # Needed for the tray to function + libPath = lib.makeLibraryPath [ libappindicator-gtk3 ]; +in +appimageTools.wrapType2 rec { + inherit pname version src name; + + extraInstallCommands = '' + source "${pkgs.makeWrapper}/nix-support/setup-hook" + wrapProgram $out/bin/${pname} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" \ + --prefix LD_LIBRARY_PATH : ${libPath} + + install -m 444 -D ${appimageContents}/@${name}.desktop $out/share/applications/${pname}.desktop + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=filen-desktop' + cp -r ${appimageContents}/usr/share/icons $out/share + ''; + + meta = with lib; { + description = "Desktop client for Filen.io"; + homepage = "https://filen.io/"; + license = licenses.agpl3Plus; + platforms = [ "x86_64-linux" ]; + }; +}