diff --git a/alejandra.toml b/alejandra.toml new file mode 100644 index 0000000..24cfccf --- /dev/null +++ b/alejandra.toml @@ -0,0 +1 @@ +# indentation = "FourSpaces" diff --git a/flake.nix b/flake.nix index a8607a3..cc660b7 100644 --- a/flake.nix +++ b/flake.nix @@ -14,11 +14,26 @@ url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; - try-cli.url = "github:tobi/try-cli"; - elephant.url = "github:abenz1267/elephant"; + try-cli = { + url = "github:tobi/try-cli"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + elephant = { + url = "github:abenz1267/elephant"; + inputs.nixpkgs.follows = "nixpkgs"; + }; walker = { url = "github:abenz1267/walker"; inputs.elephant.follows = "elephant"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + voxtype = { + url = "github:peteonrails/voxtype"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hyprland-preview-share-picker = { + url = "github:WhySoBad/hyprland-preview-share-picker"; + inputs.nixpkgs.follows = "nixpkgs"; }; }; @@ -30,6 +45,8 @@ disko, home-manager, try-cli, + voxtype, + hyprland-preview-share-picker, ... } @ inputs: let lib = nixpkgs.lib; @@ -147,7 +164,20 @@ device = "/.swapvol/swapfile"; } ]; powerManagement.enable = true; + systemd = { + packages = with pkgs; [ + uwsm + ]; + settings = { + Manager = { + DefaultTimeoutStopSec = "5s"; + }; + }; + }; environment = { + pathsToLink = [ + "/share/uwsm" + ]; persistence."/persist" = { hideMounts = true; directories = [ @@ -164,6 +194,10 @@ ]; }; systemPackages = with pkgs; [ + hyprland-preview-share-picker.packages.${system}.default + makima + pywal16 + uwsm v4l-utils brightnessctl satty @@ -207,6 +241,11 @@ p7zip impala xdg-terminal-exec + rustc + cargo + gcc + rustfmt + clippy ]; }; networking = { @@ -243,14 +282,6 @@ enable = true; openFirewall = true; }; - uwsm = { - enable = true; - waylandCompositors.hyprland = { - prettyName = "Hyprland"; - comment = "Hyprland compositor managed by UWSM"; - binPath = "/run/current-system/sw/bin/Hyprland"; - }; - }; zsh = { enable = true; }; @@ -318,6 +349,7 @@ ".config/sinew.in" ".local/share/direnv" ".local/share/nvim" + ".local/share/voxtype" ".local/share/zoxide" ".local/share/Enpass" ".local/share/Steam" @@ -395,18 +427,17 @@ chromium direnv wiremix + xournalpp bluetui spotify nodePackages.pnpm try-cli.packages.${system}.default # (python3.withPackages (python-pkgs: [ python-pkgs.pip python-pkgs.requests ])) - # rustup # zig obsidian mailspring # thunderbird # libreoffice-qt - # pkgs-unstable.nerd-fonts.fira-code # hunspell # blueberry # pkgs-unstable.hyprshot @@ -518,24 +549,34 @@ }; imports = [ inputs.walker.homeManagerModules.default - # inputs.elephant.homeManagerModules.default + inputs.voxtype.homeManagerModules.default ]; services = { swayosd.enable = true; }; systemd.user = { enable = true; - startServices = true; - # services = { - # walker = { - # Unit.Description = "Walker - Application Runner"; - # Install.WantedBy = ["graphical-session.target"]; - # }; - # elephant = { - # Unit.Description = "Elephant launcher backend"; - # Install.WantedBy = ["graphical-session.target"]; - # }; - # }; + timers = { + "station-battery-monitor" = { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnBootSec = "1min"; + OnUnitActiveSec = "30sec"; + Unit = "station-battery-monitor.service"; + }; + }; + }; + services = { + "station-battery-monitor" = { + after = "graphical-session.target"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "%h/.local/share/omarchy/bin/omarchy-battery-monitor"; + Environment = "DISPLAY=:0"; + LogLevelMax = "warning"; + }; + }; + }; }; programs = let lock-false = { @@ -549,11 +590,17 @@ in { walker = { enable = true; + config = {}; runAsService = true; }; elephant = { enable = true; - installService = true; + }; + voxtype = { + enable = true; + package = voxtype.packages.${system}.vulkan; + model.name = "base.en"; + service.enable = true; }; firefox = { enable = true; @@ -658,6 +705,20 @@ inherit inputs; }; }; + system = { + autoUpgrade = { + enable = true; + allowReboot = false; + runGarbageCollection = true; + date = "daily"; + }; + }; + fonts = { + packages = with pkgs; [ + nerd-fonts.jetbrains-mono + nerd-fonts.fira-code + ]; + }; } ]; };