diff --git a/flake.lock b/flake.lock index 58f1691..1b7498e 100644 --- a/flake.lock +++ b/flake.lock @@ -117,6 +117,27 @@ "url": "https://code.m3tam3re.com/m3tam3re/dotfiles.git" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_2" @@ -239,10 +260,28 @@ "type": "github" } }, + "m3ta-nixpkgs": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1759490685, + "narHash": "sha256-UbJucUVnIj0EmNHF6TaoMRRvKFk/XcwJTEKmoHj44ts=", + "ref": "refs/heads/master", + "rev": "cb770e18c1a3c4a762ddfc733cccdcb67f409958", + "revCount": 3, + "type": "git", + "url": "https://code.m3ta.dev/m3tam3re/nixpkgs" + }, + "original": { + "type": "git", + "url": "https://code.m3ta.dev/m3tam3re/nixpkgs" + } + }, "nix-ai-tools": { "inputs": { "blueprint": "blueprint", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -296,7 +335,7 @@ "nixos-generators": { "inputs": { "nixlib": "nixlib", - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1751903740, @@ -440,6 +479,22 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1759381078, + "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1758690382, "narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=", @@ -455,7 +510,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1736657626, "narHash": "sha256-FWlPMUzp0lkQBdhKlPqtQdqmp+/C+1MBiEytaYfrCTY=", @@ -471,7 +526,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1757745802, "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", @@ -487,7 +542,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1710272261, "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", @@ -503,6 +558,27 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759475326, + "narHash": "sha256-bXXGDZQm05KmaSf/TDqAOkPK4i6Ba5y12aL6/hcJiro=", + "owner": "nix-community", + "repo": "NUR", + "rev": "1d38cb6e7f916b7a31f4d8ef1995ba9fbaf93380", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -510,22 +586,24 @@ "dotfiles": "dotfiles", "home-manager": "home-manager_2", "hyprpanel": "hyprpanel", + "m3ta-nixpkgs": "m3ta-nixpkgs", "nix-ai-tools": "nix-ai-tools", "nix-colors": "nix-colors", "nixos-generators": "nixos-generators", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nixpkgs-45570c2": "nixpkgs-45570c2", "nixpkgs-9e58ed7": "nixpkgs-9e58ed7", "nixpkgs-locked": "nixpkgs-locked", "nixpkgs-master": "nixpkgs-master", "nixpkgs-stable": "nixpkgs-stable", + "nur": "nur", "rose-pine-hyprcursor": "rose-pine-hyprcursor" } }, "rose-pine-hyprcursor": { "inputs": { "hyprlang": "hyprlang", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "utils": "utils" }, "locked": { diff --git a/flake.nix b/flake.nix index c2cc600..ccb6899 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,12 @@ nixpkgs-9e58ed7.url = "github:nixos/nixpkgs/9e58ed7ba759d81c98f033b7f5eba21ca68f53b0"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; + m3ta-nixpkgs.url = "git+https://code.m3ta.dev/m3tam3re/nixpkgs"; + + nur = { + url = "github:nix-community/NUR"; + inputs.nixpkgs.follows = "nixpkgs"; + }; agenix.url = "github:ryantm/agenix"; disko = { @@ -50,6 +56,8 @@ dotfiles, home-manager, nixpkgs, + m3ta-nixpkgs, + nur, ... } @ inputs: let inherit (self) outputs; @@ -62,28 +70,8 @@ ]; forAllSystems = nixpkgs.lib.genAttrs systems; in { - packages = let - # Import the regular packages for all systems - regularPkgs = forAllSystems ( - system: - import ./pkgs nixpkgs.legacyPackages.${system} - ); - in - regularPkgs - // { - x86_64-linux = - regularPkgs.x86_64-linux - // { - # Build a QEMU image compatible with Proxmox using nixos-generators - proxmox-hermes-image = inputs.nixos-generators.nixosGenerate { - system = "x86_64-linux"; - format = "proxmox"; - modules = [ - ./hosts/m3-hermes/default.nix - ]; - }; - }; - }; + packages = + forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); overlays = import ./overlays {inherit inputs outputs;}; homeManagerModules = import ./modules/home-manager; @@ -96,6 +84,7 @@ modules = [ ./hosts/m3-ares agenix.nixosModules.default + m3ta-nixpkgs.nixosModules.default ]; }; m3-atlas = nixpkgs.lib.nixosSystem { @@ -105,6 +94,7 @@ ./hosts/m3-atlas inputs.disko.nixosModules.disko agenix.nixosModules.default + m3ta-nixpkgs.nixosModules.default ]; }; m3-kratos = nixpkgs.lib.nixosSystem { @@ -115,6 +105,8 @@ modules = [ ./hosts/m3-kratos agenix.nixosModules.default + nur.modules.nixos.default + m3ta-nixpkgs.nixosModules.default ]; }; m3-helios = nixpkgs.lib.nixosSystem { @@ -124,6 +116,7 @@ ./hosts/m3-helios inputs.disko.nixosModules.disko agenix.nixosModules.default + m3ta-nixpkgs.nixosModules.default ]; }; }; diff --git a/home/common/default.nix b/home/common/default.nix index 4a78ea2..3cc0b79 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -6,22 +6,25 @@ ... }: { imports = [ - (import - ../../modules/home-manager/zellij-ps.nix) inputs.nix-colors.homeManagerModules.default + inputs.m3ta-nixpkgs.homeManagerModules.default ]; #imports = builtins.attrValues outputs.homeManagerModules; nixpkgs = { # You can add overlays here overlays = [ # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications + #outputs.overlays.additions + #outputs.overlays.modifications outputs.overlays.temp-packages outputs.overlays.stable-packages outputs.overlays.locked-packages outputs.overlays.pinned-packages outputs.overlays.master-packages + inputs.nur.overlays.default + inputs.m3ta-nixpkgs.overlays.default + inputs.m3ta-nixpkgs.overlays.modifications + # You can also add overlays exported from other flakes: # neovim-nightly-overlay.overlays.default diff --git a/home/features/cli/default.nix b/home/features/cli/default.nix index 26f674b..805cdf3 100644 --- a/home/features/cli/default.nix +++ b/home/features/cli/default.nix @@ -26,15 +26,15 @@ enableNushellIntegration = true; }; - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - withNodeJs = true; - withPython3 = true; - }; + # programs.neovim = { + # enable = true; + # defaultEditor = true; + # viAlias = true; + # vimAlias = true; + # vimdiffAlias = true; + # withNodeJs = true; + # withPython3 = true; + # }; programs.bat = { enable = true; diff --git a/home/features/coding/default.nix b/home/features/coding/default.nix index 2e17bda..782703b 100644 --- a/home/features/coding/default.nix +++ b/home/features/coding/default.nix @@ -3,7 +3,7 @@ devpod #devpod-desktop code2prompt - crush + nur.repos.charmbracelet.crush (python3.withPackages (ps: with ps; [ pip diff --git a/home/features/desktop/coding.nix b/home/features/desktop/coding.nix index 27c33ca..b05ea16 100644 --- a/home/features/desktop/coding.nix +++ b/home/features/desktop/coding.nix @@ -15,122 +15,125 @@ in { bruno insomnia ]; - - programs.zed-editor = { - enable = true; - userSettings = { - features = { - inline_prediction_provider = "zed"; - edit_prediction_provider = "zed"; - copilot = false; - }; - telemetry = { - metrics = false; - }; - lsp = { - rust_analyzer = { - binary = {path_lookup = true;}; - }; - }; - languages = { - Nix = { - language_servers = ["nixd"]; - formatter = { - external = { - command = "alejandra"; - arguments = ["-q" "-"]; - }; - }; - }; - Python = { - language_servers = ["pyrefly"]; - formatter = { - external = { - command = "black"; - arguments = ["-"]; - }; - }; - }; - }; - lsp = { - "pyrefly" = { - command = { - path = "pyrefly"; - args = ["--lsp"]; - env = {}; - }; - settings = {}; - }; - }; - context_servers = { - "some-context-server" = { - command = { - path = "some-command"; - args = ["arg-1" "arg-2"]; - env = {}; - }; - settings = {}; - }; - }; - assistant = { - version = "2"; - default_model = { - provider = "anthropic"; - model = "Claude 3.7 Sonnet"; - }; - }; - language_models = { - anthropic = { - version = "1"; - api_url = "https://api.anthropic.com"; - }; - openai = { - version = "1"; - api_url = "https://api.openai.com/v1"; - }; - ollama = { - api_url = "http://localhost:11434"; - }; - }; - ssh_connections = [ - { - host = "152.53.85.162"; - nickname = "m3-atlas"; - args = ["-i" "~/.ssh/m3tam3re"]; - } - { - host = "95.217.189.186"; - port = 2222; - nickname = "self-host-playbook"; - args = ["-i" "~/.ssh/self-host-playbook"]; - "projects" = [ - { - paths = ["/etc/nixos/current-systemconfig"]; - } - ]; - } - { - host = "192.168.1.152"; - port = 22; - nickname = "m3-daedalus"; - args = ["-i" "~/.ssh/m3tam3re"]; - "projects" = [ - { - paths = ["/home/m3tam3re/home-config"]; - } - ]; - } - ]; - auto_update = false; - format_on_save = "on"; - vim_mode = true; - load_direnv = "shell_hook"; - theme = "Dracula"; - buffer_font_family = "FiraCode Nerd Font"; - ui_font_size = 16; - buffer_font_size = 16; - show_edit_predictions = true; - }; + coding.editors = { + neovim.enable = true; + zed.enable = true; }; + # programs.zed-editor = { + # enable = true; + # userSettings = { + # features = { + # inline_prediction_provider = "zed"; + # edit_prediction_provider = "zed"; + # copilot = false; + # }; + # telemetry = { + # metrics = false; + # }; + # lsp = { + # rust_analyzer = { + # binary = {path_lookup = true;}; + # }; + # }; + # languages = { + # Nix = { + # language_servers = ["nixd"]; + # formatter = { + # external = { + # command = "alejandra"; + # arguments = ["-q" "-"]; + # }; + # }; + # }; + # Python = { + # language_servers = ["pyrefly"]; + # formatter = { + # external = { + # command = "black"; + # arguments = ["-"]; + # }; + # }; + # }; + # }; + # lsp = { + # "pyrefly" = { + # command = { + # path = "pyrefly"; + # args = ["--lsp"]; + # env = {}; + # }; + # settings = {}; + # }; + # }; + # context_servers = { + # "some-context-server" = { + # command = { + # path = "some-command"; + # args = ["arg-1" "arg-2"]; + # env = {}; + # }; + # settings = {}; + # }; + # }; + # assistant = { + # version = "2"; + # default_model = { + # provider = "anthropic"; + # model = "Claude 3.7 Sonnet"; + # }; + # }; + # language_models = { + # anthropic = { + # version = "1"; + # api_url = "https://api.anthropic.com"; + # }; + # openai = { + # version = "1"; + # api_url = "https://api.openai.com/v1"; + # }; + # ollama = { + # api_url = "http://localhost:11434"; + # }; + # }; + # ssh_connections = [ + # { + # host = "152.53.85.162"; + # nickname = "m3-atlas"; + # args = ["-i" "~/.ssh/m3tam3re"]; + # } + # { + # host = "95.217.189.186"; + # port = 2222; + # nickname = "self-host-playbook"; + # args = ["-i" "~/.ssh/self-host-playbook"]; + # "projects" = [ + # { + # paths = ["/etc/nixos/current-systemconfig"]; + # } + # ]; + # } + # { + # host = "192.168.1.152"; + # port = 22; + # nickname = "m3-daedalus"; + # args = ["-i" "~/.ssh/m3tam3re"]; + # "projects" = [ + # { + # paths = ["/home/m3tam3re/home-config"]; + # } + # ]; + # } + # ]; + # auto_update = false; + # format_on_save = "on"; + # vim_mode = true; + # load_direnv = "shell_hook"; + # theme = "Dracula"; + # buffer_font_family = "FiraCode Nerd Font"; + # ui_font_size = 16; + # buffer_font_size = 16; + # show_edit_predictions = true; + # }; + # }; }; } diff --git a/home/features/desktop/default.nix b/home/features/desktop/default.nix index 7ac2abd..8d0e0b4 100644 --- a/home/features/desktop/default.nix +++ b/home/features/desktop/default.nix @@ -143,8 +143,6 @@ # gsettings-desktop-schemas # graphviz # ksnip - msty - msty-sidecar msty-studio nwg-look # pamixer diff --git a/home/m3tam3re/home.nix b/home/m3tam3re/home.nix index 536998c..82e056b 100644 --- a/home/m3tam3re/home.nix +++ b/home/m3tam3re/home.nix @@ -24,7 +24,6 @@ # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ - aider-chat-env libgtop # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run. @@ -178,11 +177,6 @@ user = "m3tam3re"; identityFile = "~/.ssh/m3tam3re"; }; - "m3-hermes" = { - hostname = "95.216.214.142"; - user = "m3tam3re"; - identityFile = "~/.ssh/m3tam3re"; - }; "m3-helios" = { hostname = "192.168.178.210"; user = "m3tam3re"; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index bf1651a..3a2b2f5 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -25,13 +25,16 @@ # You can add overlays here overlays = [ # Add overlays your own flake exports (from overlays and pkgs dir): - outputs.overlays.additions - outputs.overlays.modifications + #outputs.overlays.additions + #outputs.overlays.modifications outputs.overlays.stable-packages outputs.overlays.locked-packages outputs.overlays.pinned-packages outputs.overlays.master-packages + inputs.m3ta-nixpkgs.overlays.default + inputs.m3ta-nixpkgs.overlays.modifications + # You can also add overlays exported from other flakes: # neovim-nightly-overlay.overlays.default diff --git a/hosts/m3-hermes/default.nix b/hosts/m3-hermes/default.nix deleted file mode 100644 index e723cb4..0000000 --- a/hosts/m3-hermes/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{modulesPath, ...}: { - imports = [ - "${modulesPath}/profiles/qemu-guest.nix" - ]; - - system.stateVersion = "24.11"; - - services.cloud-init = { - enable = true; - }; - - users.users.root.initialPassword = "nixos"; - - services.openssh = { - enable = true; - }; - - networking = { - useNetworkd = true; - firewall.enable = true; - }; - - systemd.network.enable = true; - - console.keyMap = "us"; -} diff --git a/hosts/m3-kratos/programs.nix b/hosts/m3-kratos/programs.nix index eab229d..d8a5bad 100644 --- a/hosts/m3-kratos/programs.nix +++ b/hosts/m3-kratos/programs.nix @@ -28,7 +28,6 @@ obs-vaapi # obs-vertical-canvas obs-vkcapture - obs-webkitgtk wlrobs ]; }; diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index cee0ec6..3d78704 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -1,3 +1,3 @@ { - zellij-ps = import ./zellij-ps.nix; + #zellij-ps = import ./zellij-ps.nix; } diff --git a/overlays/default.nix b/overlays/default.nix index ef25704..e3ecafc 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,38 +1,30 @@ {inputs, ...}: { # This one brings our custom packages from the 'pkgs' directory - additions = final: prev: - (import ../pkgs {pkgs = final;}) - # // (inputs.hyprpanel.overlay final prev) - // {rose-pine-hyprcursor = inputs.rose-pine-hyprcursor.packages.${prev.system}.default;} - // { - crush = inputs.nix-ai-tools.packages.${prev.system}.crush; - }; + # additions = final: prev: + # (import ../pkgs {pkgs = final;}) + # // {rose-pine-hyprcursor = inputs.rose-pine-hyprcursor.packages.${prev.system}.default;}; # This one contains whatever you want to overlay # You can change versions, add patches, set compilation flags, anything really. # https://nixos.wiki/wiki/Overlays - modifications = final: prev: { - n8n = import ./mods/n8n.nix {inherit prev;}; - brave = prev.brave.override { - commandLineArgs = "--password-store=gnome-libsecret"; - }; + # modifications = final: prev: { + # n8n = import ./mods/n8n.nix {inherit prev;}; - # nodejs_24 = inputs.nixpkgs-stable.legacyPackages.${prev.system}.nodejs_24; - # paperless-ngx = inputs.nixpkgs-45570c2.legacyPackages.${prev.system}.paperless-ngx; - # anytype-heart = inputs.nixpkgs-9e58ed7.legacyPackages.${prev.system}.anytype-heart; - # trezord = inputs.nixpkgs-2744d98.legacyPackages.${prev.system}.trezord; - # mesa = inputs.nixpkgs-master.legacyPackages.${prev.system}.mesa; - # hyprpanel = inputs.hyprpanel.packages.${prev.system}.default.overrideAttrs (prev: { - # version = "latest"; # or whatever version you want - # src = final.fetchFromGitHub { - # owner = "Jas-SinghFSU"; - # repo = "HyprPanel"; - # rev = "master"; # or a specific commit hash - # hash = "sha256-l623fIVhVCU/ylbBmohAtQNbK0YrWlEny0sC/vBJ+dU="; - # }; - # }); - }; + # brave = prev.brave.override { + # commandLineArgs = "--password-store=gnome-libsecret"; + # }; + + # hyprpanel = inputs.hyprpanel.packages.${prev.system}.default.overrideAttrs (prev: { + # version = "latest"; # or whatever version you want + # src = final.fetchFromGitHub { + # owner = "Jas-SinghFSU"; + # repo = "HyprPanel"; + # rev = "master"; # or a specific commit hash + # hash = "sha256-l623fIVhVCU/ylbBmohAtQNbK0YrWlEny0sC/vBJ+dU="; + # }; + # }); + # }; temp-packages = final: _prev: { temp = import inputs.nixpkgs-9e9486b { diff --git a/overlays/mods/n8n.nix b/overlays/mods/n8n.nix deleted file mode 100644 index 4cf8968..0000000 --- a/overlays/mods/n8n.nix +++ /dev/null @@ -1,26 +0,0 @@ -{prev}: -prev.n8n.overrideAttrs (oldAttrs: rec { - version = "1.112.6"; - - src = prev.fetchFromGitHub { - owner = "n8n-io"; - repo = "n8n"; - rev = "n8n@${version}"; - hash = ""; - }; - - pnpmDeps = prev.pnpm_10.fetchDeps { - pname = oldAttrs.pname; - inherit version src; - fetcherVersion = 1; - hash = ""; - }; - - nativeBuildInputs = - builtins.map - (input: - if input == prev.pnpm_9.configHook - then prev.pnpm_10.configHook - else input) - oldAttrs.nativeBuildInputs; -}) diff --git a/pkgs/aider-chat-env/default.nix b/pkgs/aider-chat-env/default.nix deleted file mode 100644 index 9119bee..0000000 --- a/pkgs/aider-chat-env/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ - lib, - stdenv, - python3, - zlib, - libffi, - makeWrapper, -}: let - pythonEnv = python3.withPackages (ps: - with ps; [ - pip - virtualenv - ]); -in - stdenv.mkDerivation rec { - pname = "aider-chat-env"; - version = "0.1.0"; - - src = ./.; - - nativeBuildInputs = [makeWrapper]; - buildInputs = [pythonEnv zlib libffi]; - - installPhase = '' - mkdir -p $out/bin - cat > $out/bin/aider-chat-env <&2 - exit 1 - fi - - # Preload so hyprpaper can use it - "$HYPRCTL" hyprpaper preload "$WALLPAPER" >/dev/null 2>&1 || true - - # Apply to all monitors - "$HYPRCTL" monitors \ - | "$AWK" '/^Monitor /{print $2}' \ - | while IFS= read -r mon; do - [ -n "$mon" ] && "$HYPRCTL" hyprpaper wallpaper "$mon,$WALLPAPER" - done - - exit 0 - ''; -in - stdenv.mkDerivation { - pname = "hyprpaper-random"; - version = "0.1.1"; - - dontUnpack = true; - - buildInputs = [ - fd - hyprland - coreutils - gawk - ]; - - installPhase = '' - mkdir -p "$out/bin" - ln -s ${script}/bin/hyprpaper-random "$out/bin/hyprpaper-random" - ''; - - meta = with lib; { - description = "Minimal random wallpaper setter for Hyprpaper"; - license = licenses.mit; - platforms = platforms.linux; - mainProgram = "hyprpaper-random"; - }; - } diff --git a/pkgs/launch-webapp/default.nix b/pkgs/launch-webapp/default.nix deleted file mode 100644 index c2ec236..0000000 --- a/pkgs/launch-webapp/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - stdenv, - writeShellScriptBin, -}: let - launcher = writeShellScriptBin "launch-webapp" '' - #!/usr/bin/env bash - - browser=$(xdg-settings get default-web-browser) - - case "$browser" in - google-chrome*) browser_bin="google-chrome" ;; - brave-browser*) browser_bin="brave-browser" ;; - microsoft-edge*) browser_bin="microsoft-edge" ;; - opera*) browser_bin="opera" ;; - vivaldi*) browser_bin="vivaldi" ;; - *) browser_bin="chromium" ;; - esac - - exec_cmd="/etc/profiles/per-user/$USER/bin/$browser_bin" - exec setsid uwsm app -- "$exec_cmd" --app="$1" ''${@:2} - ''; -in - stdenv.mkDerivation { - pname = "launch-webapp"; - version = "0.1.0"; - - dontUnpack = true; - - installPhase = '' - mkdir -p $out/bin - ln -s ${launcher}/bin/launch-webapp $out/bin/launch-webapp - ''; - - meta = with lib; { - description = "Launches a web app using your default browser in app mode."; - license = licenses.mit; - platforms = platforms.linux; - maintainers = []; - }; - } diff --git a/pkgs/msty-sidecar/default.nix b/pkgs/msty-sidecar/default.nix deleted file mode 100644 index 0d16921..0000000 --- a/pkgs/msty-sidecar/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - appimageTools, - fetchurl, - nodejs, - nodePackages, - uv, - python3, - makeWrapper, -}: let - pname = "msty-sidecar"; - version = "0.4.0"; - src = fetchurl { - url = "https://sidecar-assets.msty.studio/prod/latest/linux/amd64/MstySidecar_x86_64_amd64.AppImage"; - sha256 = "sha256-UhsokCG0NPqn5nhn//AaIuY6sWlZkejNlqMEyN4Opqg="; - }; - appimageContents = appimageTools.extractType2 {inherit pname version src;}; -in - appimageTools.wrapType2 { - inherit pname version src; - nativeBuildInputs = [makeWrapper]; - - extraPkgs = pkgs: [ - nodejs - nodePackages.npm - uv - python3 - ]; - - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/mstysidecar.desktop -t $out/share/applications - substituteInPlace $out/share/applications/mstysidecar.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - install -m 444 -D ${appimageContents}/mstysidecar.png \ - $out/share/icons/hicolor/256x256/apps/mstysidecar.png - wrapProgram $out/bin/${pname} \ - --prefix PATH : ${nodejs}/bin:${nodePackages.npm}/bin:${uv}/bin:${python3}/bin - ''; - } diff --git a/pkgs/msty-studio/default.nix b/pkgs/msty-studio/default.nix deleted file mode 100644 index bf751be..0000000 --- a/pkgs/msty-studio/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - appimageTools, - fetchurl, - nodejs, - nodePackages, - uv, - python3, - makeWrapper, -}: let - pname = "msty-studio"; - version = "2.0.0-alpha.11"; - src = fetchurl { - url = "https://next-assets.msty.studio/app/alpha/linux/MstyStudio_x86_64.AppImage"; - sha256 = "sha256-jp0kMBB6ks6j++VvM1XG37spLEXU1SmVXRNJpr5SmOA="; - }; - appimageContents = appimageTools.extractType2 {inherit pname version src;}; -in - appimageTools.wrapType2 { - inherit pname version src; - nativeBuildInputs = [makeWrapper]; - - extraPkgs = pkgs: [ - nodejs - nodePackages.npm - uv - python3 - ]; - - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/MstyStudio.desktop -t $out/share/applications - substituteInPlace $out/share/applications/MstyStudio.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - install -m 444 -D ${appimageContents}/MstyStudio.png \ - $out/share/icons/hicolor/256x256/apps/MstyStudio.png - wrapProgram $out/bin/${pname} \ - --prefix PATH : ${nodejs}/bin:${nodePackages.npm}/bin:${uv}/bin:${python3}/bin - ''; - } diff --git a/pkgs/msty/default.nix b/pkgs/msty/default.nix deleted file mode 100644 index d190699..0000000 --- a/pkgs/msty/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - appimageTools, - fetchurl, - makeWrapper, -}: let - pname = "msty"; - version = "1.9.2"; - src = fetchurl { - url = "https://assets.msty.app/prod/latest/linux/amd64/Msty_x86_64_amd64.AppImage"; - sha256 = "sha256-Z4t0EcV9X4g5X0lBwipiMdP8lgPuBkhykAIKjHSUpnI="; - }; - appimageContents = appimageTools.extractType2 {inherit pname version src;}; -in - appimageTools.wrapType2 { - inherit pname version src; - - nativeBuildInputs = [makeWrapper]; - - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/msty.desktop -t $out/share/applications - substituteInPlace $out/share/applications/msty.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - install -m 444 -D ${appimageContents}/msty.png \ - $out/share/icons/hicolor/256x256/apps/msty.png - wrapProgram $out/bin/${pname} \ - --set XDG_CURRENT_DESKTOP GNOME - ''; - } diff --git a/pkgs/pomodoro-timer/default.nix b/pkgs/pomodoro-timer/default.nix deleted file mode 100644 index 131e9e4..0000000 --- a/pkgs/pomodoro-timer/default.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ - lib, - stdenv, - writeShellScriptBin, - timer, - kitty, - rofi, - libnotify, - speechd, -}: let - launcher = writeShellScriptBin "launch-timer" '' - #!/bin/bash - - validate_time() { - local input=$1 - if [[ $input =~ ^[0-9]+[mhs]$ ]]; then - return 0 - else - return 1 - fi - } - - notify_end() { - local session_name=$1 - ${libnotify}/bin/notify-send "Pomodoro" "$session_name session ended!" - ${speechd}/bin/spd-say "$session_name session ended" - } - - start_timer() { - local duration=$1 - local session_name=$2 - kitty \ - --class="floating-pomodoro" \ - --title="floating-pomodoro" \ - ${timer}/bin/timer $duration - notify_end "$session_name" - } - - # Show rofi menu with options - selected=$(printf "work\nbreak\ncustom" | rofi -dmenu -p "Work Timer:" -l 3) - - # Exit if no selection was made - [ -z "$selected" ] && exit - - case $selected in - "work") - start_timer "45m" "work" - ;; - "break") - start_timer "10m" "break" - ;; - "custom") - # Show input dialog for custom time - custom_time=$(rofi -dmenu -p "Enter time (e.g., 25m, 1h, 30s):" -l 0) - - # Validate input and start timer - if [ ! -z "$custom_time" ] && validate_time "$custom_time"; then - start_timer "$custom_time" "custom" - else - ${libnotify}/bin/notify-send "Invalid time format" "Please use format: 30s, 25m, or 1h" - exit 1 - fi - ;; - esac - ''; -in - stdenv.mkDerivation { - pname = "work-timer"; - version = "0.1.0"; - - dontUnpack = true; - - buildInputs = [ - timer - kitty - rofi - libnotify - speechd - ]; - - installPhase = '' - mkdir -p $out/bin - ln -s ${launcher}/bin/launch-timer $out/bin/launch-timer - ''; - - meta = with lib; { - description = "A Work timer."; - license = licenses.mit; - platforms = platforms.linux; - maintainers = []; - }; - } diff --git a/pkgs/tuxedo-backlight/default.nix b/pkgs/tuxedo-backlight/default.nix deleted file mode 100644 index 7082461..0000000 --- a/pkgs/tuxedo-backlight/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{writeShellScriptBin}: -writeShellScriptBin "tuxedo-backlight" '' - # all keys - echo '0 150 255' | tee /sys/class/leds/rgb:kbd_backlight*/multi_intensity - - # DEL key - echo '255 0 155' | tee /sys/class/leds/rgb:kbd_backlight_15/multi_intensity - - # ESC key - echo '255 0 155' | tee /sys/class/leds/rgb:kbd_backlight/multi_intensity - - # function and Fn keys - for i in {1..12} 102; do - echo '0 255 80' | tee /sys/class/leds/rgb:kbd_backlight_$i/multi_intensity - done - - # complete numblock and keys above - for i in {16..19} {36..39} {56..59} {76..79} {96..99} {117..119}; do - echo '255 150 0' | tee /sys/class/leds/rgb:kbd_backlight_$i/multi_intensity - done - - # arrow keys - for i in 95 {114..116}; do - echo '0 255 80' | tee /sys/class/leds/rgb:kbd_backlight_$i/multi_intensity - done -'' diff --git a/pkgs/zellij-ps/default.nix b/pkgs/zellij-ps/default.nix deleted file mode 100644 index 357ed1d..0000000 --- a/pkgs/zellij-ps/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitea, - fish, - fd, - fzf, - makeWrapper, - zellij, -}: -with lib; - stdenv.mkDerivation { - pname = "zellij-ps"; - version = "0.1.0"; - - src = fetchFromGitea { - domain = "code.m3tam3re.com"; - owner = "m3tam3re"; - repo = "helper-scripts"; - rev = "08a3217b83391c1110545c1ee3161eecd5dbe5e9"; - sha256 = "1sc4i58mwcg3qsq0wwl5rvk08ykbxc497bq7mrxiirndsarskby7"; - }; - - buildInputs = []; - - nativeBuildInputs = [makeWrapper]; - installPhase = '' - mkdir -p $out/bin - cp zellij-ps.fish $out/bin/zellij-ps - wrapProgram $out/bin/zellij-ps \ - --prefix PATH : ${lib.makeBinPath [fish fd fzf zellij]} - ''; - - meta = with lib; { - description = "A small project script for zellij"; - homepage = "https://code.m3tam3re.com/m3tam3re/helper-scripts"; - license = licenses.mit; - maintainers = with maintainers; [m3tam3re]; - platforms = platforms.unix; - }; - }