commit 394c32873822dbf1212f91690de385ea85b35cda Author: Artur Manuel Date: Mon Feb 10 20:28:46 2025 +0000 meta(repo): init repo diff --git a/amadaluzian-nu/cfg/config.nu b/amadaluzian-nu/cfg/config.nu new file mode 100644 index 0000000..e671b14 --- /dev/null +++ b/amadaluzian-nu/cfg/config.nu @@ -0,0 +1,54 @@ +# config.nu +# +# Installed by: +# version = "0.101.0" +# +# This file is used to override default Nushell settings, define +# (or import) custom commands, or run any other startup tasks. +# See https://www.nushell.sh/book/configuration.html +# +# This file is loaded after env.nu and before login.nu +# +# You can open this file in your default editor using: +# config nu +# +# See `help config nu` for more options +# +# You can remove these comments if you want or leave +# them for future reference. + +# Alias the built-in ls command to `ls!`, I like to pretend it's like the Nix/Haskell prime. +alias ls! = ls + +# List the filenames, sizes, and modification times of items in a directory. +def ls [ + --all (-a), # Show hidden files + --long (-l), # Get all available columns for each entry (slower; columns are platform-dependent) + --short-names (-s), # Only print the file names, and not the path + --full-paths (-f), # display paths as absolute paths + --du (-d), # Display the apparent directory size ("disk usage") in place of the directory metadata size + --directory (-D), # List the specified directory itself instead of its contents + --mime-type (-m), # Show mime-type in type column instead of 'file' (based on filenames only; files' contents are not examined) + --threads (-t), # Use multiple threads to list contents. Output will be non-deterministic. + ...pattern: glob, # The glob pattern to use. +]: [ nothing -> table ] { + let pattern = if ($pattern | is-empty) { [ '.' ] } else { $pattern } + (ls! + --all=$all + --long=$long + --short-names=$short_names + --full-paths=$full_paths + --du=$du + --directory=$directory + --mime-type=$mime_type + --threads=$threads + ...$pattern + ) | sort-by type name -i +} + +alias nos = nh os +alias e = ^$env.EDITOR + +mkdir ($nu.data-dir | path join "vendor/autoload") +starship init nu | save -f ($nu.data-dir | path join "vendor/autoload/starship.nu") +zoxide init nushell --cmd j | save -f ($nu.data-dir | path join "vendor/autoload/zoxide.nu") diff --git a/amadaluzian-nu/cfg/env.nu b/amadaluzian-nu/cfg/env.nu new file mode 100644 index 0000000..6d578c6 --- /dev/null +++ b/amadaluzian-nu/cfg/env.nu @@ -0,0 +1,37 @@ +# env.nu +# +# Installed by: +# version = "0.101.0" +# +# Previously, environment variables were typically configured in `env.nu`. +# In general, most configuration can and should be performed in `config.nu` +# or one of the autoload directories. +# +# This file is generated for backwards compatibility for now. +# It is loaded before config.nu and login.nu +# +# See https://www.nushell.sh/book/configuration.html +# +# Also see `help config env` for more options. +# +# You can remove these comments if you want or leave +# them for future reference. + +$env.config = { + hooks: { + pre_prompt: [{ || + if (which direnv | is-empty) { + return + } + + direnv export json | from json | default {} | load-env + if 'ENV_CONVERSIONS' in $env and 'PATH' in $env.ENV_CONVERSIONS { + $env.PATH = do $env.ENV_CONVERSIONS.PATH.from_string $env.PATH + } + }] + } + table: { + mode: "heavy" + } + show_banner: false +} diff --git a/amadaluzian-nu/default.nix b/amadaluzian-nu/default.nix new file mode 100644 index 0000000..e4f8c9e --- /dev/null +++ b/amadaluzian-nu/default.nix @@ -0,0 +1,37 @@ +{ + symlinkJoin, + nushell, + amadaluzian-starship, + zoxide, + makeWrapper, +}: +symlinkJoin { + name = "nu"; + + paths = [ + nushell + amadaluzian-starship + zoxide + ]; + + nativeBuildInputs = [ + makeWrapper + ]; + + passthru = { + inherit (nushell.passthru) shellPath; + }; + + meta = { + inherit (nushell.meta) mainProgram; + }; + + postBuild = '' + wrapProgram $out/bin/nu \ + --set NU_CONFIG_DIR "${./cfg}" \ + --add-flags '--env-config' \ + --add-flags '$NU_CONFIG_DIR/env.nu' \ + --add-flags '--config' \ + --add-flags '$NU_CONFIG_DIR/config.nu' \ + ''; +} diff --git a/amadaluzian-starship/default.nix b/amadaluzian-starship/default.nix new file mode 100644 index 0000000..bf8223e --- /dev/null +++ b/amadaluzian-starship/default.nix @@ -0,0 +1,157 @@ +{ + symlinkJoin, + starship, + makeWrapper, + writers, +}: let + config = writers.writeTOML "starship.toml" { + aws = {symbol = "aws ";}; + azure = {symbol = "az ";}; + bun = {symbol = "bun ";}; + c = {symbol = "C ";}; + character = { + error_symbol = "[x](bold red)"; + success_symbol = "[>](bold green)"; + vimcmd_symbol = "[<](bold green)"; + }; + cmake = {symbol = "cmake ";}; + cmd_duration = {format = "\\[[$duration]($style)\\] ";}; + cobol = {symbol = "cobol ";}; + conda = {symbol = "conda ";}; + crystal = {symbol = "cr ";}; + daml = {symbol = "daml ";}; + dart = {symbol = "dart ";}; + deno = {symbol = "deno ";}; + directory = { + read_only = " ro"; + format = ":[$path]($style) "; + }; + docker_context = {symbol = "docker ";}; + dotnet = {symbol = ".NET ";}; + elixir = {symbol = "exs ";}; + elm = {symbol = "elm ";}; + fennel = {symbol = "fnl ";}; + fossil_branch = {symbol = "fossil ";}; + gcloud = {symbol = "gcp ";}; + git_branch = {format = "\\[[$branch(:$remote_branch)]($style)\\] ";}; + git_commit = {tag_symbol = " tag ";}; + git_status = { + ahead = ">"; + behind = "<"; + deleted = "x"; + diverged = "<>"; + renamed = "r"; + format = "\\[[$all_status$ahead_behind]($style)\\] "; + }; + gleam = {symbol = "gleam ";}; + golang = {symbol = "go ";}; + gradle = {symbol = "gradle ";}; + guix_shell = {symbol = "guix ";}; + hg_branch = {symbol = "hg ";}; + java = {symbol = "java ";}; + julia = {symbol = "jl ";}; + kotlin = {symbol = "kt ";}; + lua = {symbol = "lua ";}; + memory_usage = {symbol = "memory ";}; + meson = {symbol = "meson ";}; + nats = {symbol = "nats ";}; + nim = {symbol = "nim ";}; + nix_shell = {format = "\\[[$state( \($name\))]($style)\\] ";}; + nodejs = {symbol = "nodejs ";}; + ocaml = {symbol = "ml ";}; + opa = {symbol = "opa ";}; + os = { + disabled = false; + symbols = { + AIX = "aix "; + AlmaLinux = "alma "; + Alpaquita = "alq "; + Alpine = "alp "; + Amazon = "amz "; + Android = "andr "; + Arch = "rch "; + Artix = "atx "; + CentOS = "cent "; + Debian = "deb "; + DragonFly = "dfbsd "; + Emscripten = "emsc "; + EndeavourOS = "ndev "; + Fedora = "fed "; + FreeBSD = "fbsd "; + Garuda = "garu "; + Gentoo = "gent "; + HardenedBSD = "hbsd "; + Illumos = "lum "; + Kali = "kali "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + RedHatEnterprise = "rhel "; + Redhat = "rhl "; + Redox = "redox "; + RockyLinux = "rky "; + SUSE = "suse "; + Solus = "sol "; + Ubuntu = "ubnt "; + Ultramarine = "ultm "; + Unknown = "unk "; + Void = "void "; + Windows = "win "; + openEuler = "oeul "; + openSUSE = "osuse "; + }; + }; + package = {symbol = "pkg ";}; + perl = {symbol = "pl ";}; + php = {symbol = "php ";}; + pijul_channel = {symbol = "pijul ";}; + pulumi = {symbol = "pulumi ";}; + purescript = {symbol = "purs ";}; + python = {symbol = "py ";}; + quarto = {symbol = "quarto ";}; + raku = {symbol = "raku ";}; + ruby = {symbol = "rb ";}; + rust = {symbol = "rs ";}; + scala = {symbol = "scala ";}; + solidity = {symbol = "solidity ";}; + spack = {symbol = "spack ";}; + status = {symbol = "[x](bold red) ";}; + sudo = {symbol = "sudo ";}; + swift = {symbol = "swift ";}; + terraform = {symbol = "terraform ";}; + typst = {symbol = "typst ";}; + zig = {symbol = "zig ";}; + username = { + show_always = true; + format = "[$user]($style)@"; + }; + hostname = { + ssh_only = false; + format = "[$ssh_symbol$hostname]($style)"; + }; + }; +in + symlinkJoin { + name = "starship"; + paths = [ + starship + ]; + nativeBuildInputs = [ + makeWrapper + ]; + postBuild = '' + wrapProgram $out/bin/starship \ + --set STARSHIP_CONFIG ${config} + ''; + } diff --git a/amadaluzian-xonsh/cfg/rc.xsh b/amadaluzian-xonsh/cfg/rc.xsh new file mode 100644 index 0000000..d585899 --- /dev/null +++ b/amadaluzian-xonsh/cfg/rc.xsh @@ -0,0 +1 @@ +execx($(zoxide init xonsh --cmd j), 'exec', __xonsh__.ctx, filename='zoxide') diff --git a/amadaluzian-xonsh/default.nix b/amadaluzian-xonsh/default.nix new file mode 100644 index 0000000..8a4752d --- /dev/null +++ b/amadaluzian-xonsh/default.nix @@ -0,0 +1,111 @@ +{ + makeWrapper, + fetchFromGitHub, + symlinkJoin, + python3, + amadaluzian-starship, + zoxide, +}: let + xonsh = + (python3.override { + packageOverrides = pyprev: _pyfinal: { + custom-xonsh = pyprev.xonsh.overrideAttrs (finalAttrs: { + src = fetchFromGitHub { + owner = "xonsh"; + repo = finalAttrs.pname; + rev = "0292b43e64c72ef16a75128d6346ce7d3b316d66"; + hash = "sha256-kCtn8ujD0UahOLxtV9DD81awOYl6xirgnBoW/ywZxs0="; + }; + }); + }; + }) + .withPackages (ps: [ + ps.custom-xonsh + (let + pname = "xontrib-fish-completer"; + version = "0.0.1"; + in + ps.buildPythonPackage { + inherit pname version; + src = fetchFromGitHub { + owner = "xonsh"; + repo = pname; + rev = version; + hash = "sha256-PhhdZ3iLPDEIG9uDeR5ctJ9zz2+YORHBhbsiLrJckyA="; + }; + }) + (let + pname = "xontrib-prompt-starship"; + version = "0.3.6"; + in + ps.buildPythonPackage { + inherit pname version; + src = fetchFromGitHub { + owner = "anki-code"; + repo = pname; + tag = version; + hash = "sha256-CLOvMa3L4XnH53H/k6/1W9URrPakPjbX1T1U43+eSR0="; + }; + }) + (let + pname = "xontrib-init-ssh-agent"; + version = "1.0.1"; + in + ps.buildPythonPackage { + inherit pname version; + pyproject = true; + build-system = [ + ps.setuptools + ps.wheel + ]; + dependencies = [ + ps.custom-xonsh + ]; + src = fetchFromGitHub { + owner = "amadaluzia"; + repo = pname; + rev = "cac9cfec70ec15b0ed4f1c8a18154ea9b4f8fb47"; + hash = "sha256-UkRPdaZFNP8qv7lMwsTUalnre3k2UMfqMzmiTveLiBM="; + }; + }) + (let + pname = "xonsh-direnv"; + version = "1.6.5"; + in + ps.buildPythonPackage { + inherit pname version; + src = fetchFromGitHub { + owner = "74th"; + repo = pname; + tag = version; + hash = "sha256-huBJ7WknVCk+WgZaXHlL+Y1sqsn6TYqMP29/fsUPSyU="; + }; + }) + ]); +in + symlinkJoin { + name = "xonsh"; + + paths = [ + xonsh + amadaluzian-starship + zoxide + ]; + + nativeBuildInputs = [ + makeWrapper + ]; + + postBuild = '' + wrapProgram $out/bin/xonsh \ + --set XONSH_CONFIG_DIR ${./cfg} + ''; + + passthru = { + shellPath = "/bin/xonsh"; + }; + + meta = { + mainProgram = "xonsh"; + }; + } diff --git a/fairfax/default.nix b/fairfax/default.nix new file mode 100644 index 0000000..cd8f2cd --- /dev/null +++ b/fairfax/default.nix @@ -0,0 +1,21 @@ +{ + stdenvNoCC, + fetchzip, + lib, +}: +stdenvNoCC.mkDerivation { + pname = "fairfax"; + version = "20240601"; + src = lib.cleanSourceWith { + filter = _path: type: type == "regular"; + src = fetchzip { + url = "https://github.com/kreativekorp/open-relay/releases/download/2024-06-01/Fairfax.zip"; + hash = "sha256-rUl/C250pJBal69ThtWhPMFe182nnZmk5UUA7eDrZeA="; + stripRoot = false; + }; + }; + installPhase = '' + mkdir -p $out/share/fonts/Fairfax + cp *.ttf $out/share/fonts/Fairfax + ''; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..34d3333 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1739020877, + "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..bd0e0f4 --- /dev/null +++ b/flake.nix @@ -0,0 +1,63 @@ +{ + description = "Alqages, packages from alqueva to here."; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + }; + + outputs = { + self, + nixpkgs, + }: let + eachSystem = f: + nixpkgs.lib.genAttrs ["x86_64-linux" "aarch64-linux"] (system: + f { + pkgs = nixpkgs.legacyPackages.${system}; + }); + in { + overlays.default = final: prev: let + packages = { + amadaluzian-starship = prev.callPackage ./amadaluzian-starship {}; + amadaluzian-xonsh = prev.callPackage ./amadaluzian-xonsh {inherit (packages) amadaluzian-starship;}; + amadaluzian-nu = prev.callPackage ./amadaluzian-nu {inherit (packages) amadaluzian-starship;}; + fairfax = prev.callPackage ./fairfax {}; + river-bedload = prev.callPackage ./river-bedload {}; + tela-circle-icon-theme = prev.callPackage ./tela-circle-icon-theme-patched {}; + nicotine-plus-libadwaita = prev.symlinkJoin { + name = "nicotine"; + paths = [prev.nicotine-plus]; + nativeBuildInputs = [prev.makeWrapper]; + postBuild = '' + wrapProgram $out/bin/nicotine \ + --set-default NICOTINE_LIBADWAITA 1 + ''; + }; + colloid-icon-theme-git = prev.colloid-icon-theme.overrideAttrs (_finalAttrs: { + version = "master"; + src = prev.fetchFromGitHub { + owner = "vinceliuice"; + repo = "Colloid-icon-theme"; + rev = "main"; + hash = "sha256-x2SSaIkKm1415avO7R6TPkpghM30HmMdjMFUUyPWZsk="; + }; + }); + rose-pine-gtk-theme-git = prev.rose-pine-gtk-theme.overrideAttrs (_finalAttrs: { + version = "master"; + src = prev.fetchFromGitHub { + owner = "rose-pine"; + repo = "gtk"; + tag = "master"; + hash = "sha256-vCWs+TOVURl18EdbJr5QAHfB+JX9lYJ3TPO6IklKeFE="; + }; + }); + vesktop-electron32 = prev.vesktop.override { + electron = prev.electron_32; + }; + }; + in + packages; + + packages = eachSystem ({pkgs}: self.overlays.default pkgs pkgs); + formatter = eachSystem ({pkgs}: pkgs.alejandra); + }; +} diff --git a/river-bedload/build.zig.zon.nix b/river-bedload/build.zig.zon.nix new file mode 100644 index 0000000..6e8f2cf --- /dev/null +++ b/river-bedload/build.zig.zon.nix @@ -0,0 +1,14 @@ +# generated by zon2nix (https://github.com/nix-community/zon2nix) +{ + linkFarm, + fetchzip, +}: +linkFarm "zig-packages" [ + { + name = "1220687c8c47a48ba285d26a05600f8700d37fc637e223ced3aa8324f3650bf52242"; + path = fetchzip { + url = "https://codeberg.org/ifreund/zig-wayland/archive/v0.2.0.tar.gz"; + hash = "sha256-dvit+yvc0MnipqWjxJdfIsA6fJaJZOaIpx4w4woCxbE="; + }; + } +] diff --git a/river-bedload/default.nix b/river-bedload/default.nix new file mode 100644 index 0000000..cbe2964 --- /dev/null +++ b/river-bedload/default.nix @@ -0,0 +1,38 @@ +{ + stdenv, + fetchgit, + zig_0_13, + callPackage, + wayland-scanner, + wayland-protocols, + wayland, + pkg-config, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "river-bedload"; + version = "0.1.1"; + + src = fetchgit { + url = "https://git.sr.ht/~novakane/${finalAttrs.pname}"; + rev = "v${finalAttrs.version}"; + hash = "sha256-AMxFdKVy4E1xVdimqxm8KZW39krk/Mt27MWLxEiq1JA="; + }; + + deps = callPackage ./build.zig.zon.nix {}; + + zigBuildFlags = [ + "--system" + "${finalAttrs.deps}" + ]; + + nativeBuildInputs = [ + zig_0_13.hook + pkg-config + wayland-scanner + ]; + + buildInputs = [ + wayland + wayland-protocols + ]; +}) diff --git a/tela-circle-icon-theme-patched/0001-fix-links-remove-symbolic-links.patch b/tela-circle-icon-theme-patched/0001-fix-links-remove-symbolic-links.patch new file mode 100644 index 0000000..8e95039 --- /dev/null +++ b/tela-circle-icon-theme-patched/0001-fix-links-remove-symbolic-links.patch @@ -0,0 +1,81 @@ +From a52410caac1d1e489c6379e95acadb4a93a40d16 Mon Sep 17 00:00:00 2001 +From: Artur Manuel +Date: Sun, 9 Feb 2025 17:32:58 +0000 +Subject: [PATCH] fix(links): remove symbolic links + +--- + links/24/panel/org.xfce.panel.showdesktop.svg | 1 - + links/24/panel/org.xfce.xfdesktop.svg | 1 - + links/24/panel/preferences-system-bluetooth-activated.svg | 1 - + links/24/panel/preferences-system-bluetooth-inactive.svg | 1 - + links/24/panel/preferences-system-bluetooth.svg | 1 - + links/scalable/apps/kerry.svg | 1 - + links/scalable/apps/org.kde.kfind.svg | 1 - + 7 files changed, 7 deletions(-) + delete mode 120000 links/24/panel/org.xfce.panel.showdesktop.svg + delete mode 120000 links/24/panel/org.xfce.xfdesktop.svg + delete mode 120000 links/24/panel/preferences-system-bluetooth-activated.svg + delete mode 120000 links/24/panel/preferences-system-bluetooth-inactive.svg + delete mode 120000 links/24/panel/preferences-system-bluetooth.svg + delete mode 120000 links/scalable/apps/kerry.svg + delete mode 120000 links/scalable/apps/org.kde.kfind.svg + +diff --git a/links/24/panel/org.xfce.panel.showdesktop.svg b/links/24/panel/org.xfce.panel.showdesktop.svg +deleted file mode 120000 +index 8f1a5a03..00000000 +--- a/links/24/panel/org.xfce.panel.showdesktop.svg ++++ /dev/null +@@ -1 +0,0 @@ +-user-desktop.svg +\ No newline at end of file +diff --git a/links/24/panel/org.xfce.xfdesktop.svg b/links/24/panel/org.xfce.xfdesktop.svg +deleted file mode 120000 +index 8f1a5a03..00000000 +--- a/links/24/panel/org.xfce.xfdesktop.svg ++++ /dev/null +@@ -1 +0,0 @@ +-user-desktop.svg +\ No newline at end of file +diff --git a/links/24/panel/preferences-system-bluetooth-activated.svg b/links/24/panel/preferences-system-bluetooth-activated.svg +deleted file mode 120000 +index 6e9e06d1..00000000 +--- a/links/24/panel/preferences-system-bluetooth-activated.svg ++++ /dev/null +@@ -1 +0,0 @@ +-network-bluetooth-activated.svg +\ No newline at end of file +diff --git a/links/24/panel/preferences-system-bluetooth-inactive.svg b/links/24/panel/preferences-system-bluetooth-inactive.svg +deleted file mode 120000 +index 148343d1..00000000 +--- a/links/24/panel/preferences-system-bluetooth-inactive.svg ++++ /dev/null +@@ -1 +0,0 @@ +-network-bluetooth-inactive.svg +\ No newline at end of file +diff --git a/links/24/panel/preferences-system-bluetooth.svg b/links/24/panel/preferences-system-bluetooth.svg +deleted file mode 120000 +index 0ef23527..00000000 +--- a/links/24/panel/preferences-system-bluetooth.svg ++++ /dev/null +@@ -1 +0,0 @@ +-network-bluetooth.svg +\ No newline at end of file +diff --git a/links/scalable/apps/kerry.svg b/links/scalable/apps/kerry.svg +deleted file mode 120000 +index f97340b8..00000000 +--- a/links/scalable/apps/kerry.svg ++++ /dev/null +@@ -1 +0,0 @@ +-search.svg +\ No newline at end of file +diff --git a/links/scalable/apps/org.kde.kfind.svg b/links/scalable/apps/org.kde.kfind.svg +deleted file mode 120000 +index f97340b8..00000000 +--- a/links/scalable/apps/org.kde.kfind.svg ++++ /dev/null +@@ -1 +0,0 @@ +-search.svg +\ No newline at end of file +-- +2.47.2 + diff --git a/tela-circle-icon-theme-patched/default.nix b/tela-circle-icon-theme-patched/default.nix new file mode 100644 index 0000000..fcdaccc --- /dev/null +++ b/tela-circle-icon-theme-patched/default.nix @@ -0,0 +1,8 @@ +{tela-circle-icon-theme}: +tela-circle-icon-theme.overrideAttrs (finalAttrs: { + patches = + (finalAttrs.patches or []) + ++ [ + ./0001-fix-links-remove-symbolic-links.patch + ]; +})