From f440ba84f27fb322448e444b7eb62ff56033fc67 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sat, 22 Jun 2024 04:24:07 -0700 Subject: feat: initial configuration --- applications/cli/bat/default.nix | 6 + applications/cli/default.nix | 13 ++ applications/cli/eza/default.nix | 7 + applications/cli/fd/default.nix | 1 + applications/cli/gemini/bollux/default.nix | 36 ++++ applications/cli/gemini/default.nix | 4 + applications/cli/nvtop/default.nix | 1 + applications/cli/ripgrep/default.nix | 4 + applications/cli/rm-improved/default.nix | 1 + applications/cli/starship/default.nix | 301 +++++++++++++++++++++++++++++ applications/cli/tealdeer/default.nix | 1 + applications/default.nix | 1 + applications/gui/default.nix | 7 + applications/gui/gemini/default.nix | 1 + applications/gui/kitty/default.nix | 1 + applications/gui/warp/default.nix | 1 + 16 files changed, 386 insertions(+) create mode 100644 applications/cli/bat/default.nix create mode 100644 applications/cli/default.nix create mode 100644 applications/cli/eza/default.nix create mode 100644 applications/cli/fd/default.nix create mode 100644 applications/cli/gemini/bollux/default.nix create mode 100644 applications/cli/gemini/default.nix create mode 100644 applications/cli/nvtop/default.nix create mode 100644 applications/cli/ripgrep/default.nix create mode 100644 applications/cli/rm-improved/default.nix create mode 100644 applications/cli/starship/default.nix create mode 100644 applications/cli/tealdeer/default.nix create mode 100644 applications/default.nix create mode 100644 applications/gui/default.nix create mode 100644 applications/gui/gemini/default.nix create mode 100644 applications/gui/kitty/default.nix create mode 100644 applications/gui/warp/default.nix (limited to 'applications') diff --git a/applications/cli/bat/default.nix b/applications/cli/bat/default.nix new file mode 100644 index 0000000..c1dad3f --- /dev/null +++ b/applications/cli/bat/default.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: { + programs.bat = { + enable = true; + config.pager = "less -FR"; + }; +} diff --git a/applications/cli/default.nix b/applications/cli/default.nix new file mode 100644 index 0000000..ac6975d --- /dev/null +++ b/applications/cli/default.nix @@ -0,0 +1,13 @@ +_: { + imports = [ + ./bat + ./eza + ./fd + ./gemini + # ./nvtop + ./ripgrep + ./rm-improved + ./starship + ./tealdeer + ]; +} diff --git a/applications/cli/eza/default.nix b/applications/cli/eza/default.nix new file mode 100644 index 0000000..a8d2f57 --- /dev/null +++ b/applications/cli/eza/default.nix @@ -0,0 +1,7 @@ +_: { + programs.eza = { + enable = true; + icons = true; + enableFishIntegration = true; + }; +} diff --git a/applications/cli/fd/default.nix b/applications/cli/fd/default.nix new file mode 100644 index 0000000..ba676b1 --- /dev/null +++ b/applications/cli/fd/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { home.packages = with pkgs; [ fd ]; } diff --git a/applications/cli/gemini/bollux/default.nix b/applications/cli/gemini/bollux/default.nix new file mode 100644 index 0000000..175fe80 --- /dev/null +++ b/applications/cli/gemini/bollux/default.nix @@ -0,0 +1,36 @@ +{ pkgs, lib, ... }: +let + bollux = + pkgs.stdenvNoCC.mkDerivation rec { + pname = "bollux"; + version = "f472e60f1164f0dc025d06db2a13ff4e8ebee1a2"; + src = pkgs.fetchFromGitea { + domain = "tildegit.org"; + owner = "acdw"; + repo = "bollux"; + rev = version; + hash = "sha256-mo2qWCPfW+dUaYcJLsos/vR5nJ8n1eABy8Zy8OZsfVg="; + }; + installPhase = '' + mkdir -p $out/bin + make install PREFIX=$out + ''; + meta = with lib; { + description = "a Gemini browser in like, idk, 96% pure Bash"; + homepage = "https://tildegit.org/acdw/bollux"; + license = licenses.mit; + platforms = platforms.unix; + mainProgram = "bollux"; + }; + }; +in +{ + home.packages = [ + # I'll update this later and move the above derivation to its own package + # once I push my entire NixOS system configuration. + # (pkgs.callPackage /path/to/pkgs/bollux.nix { + # src = bollux; + # }) + bollux + ]; +} diff --git a/applications/cli/gemini/default.nix b/applications/cli/gemini/default.nix new file mode 100644 index 0000000..c76ecf7 --- /dev/null +++ b/applications/cli/gemini/default.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: { + imports = [ ./bollux ]; + home.packages = with pkgs; [ amfora gmni ]; +} diff --git a/applications/cli/nvtop/default.nix b/applications/cli/nvtop/default.nix new file mode 100644 index 0000000..b0a672b --- /dev/null +++ b/applications/cli/nvtop/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { home.packages = with pkgs; [ nvtopPackages.nvidia ]; } diff --git a/applications/cli/ripgrep/default.nix b/applications/cli/ripgrep/default.nix new file mode 100644 index 0000000..5b127fb --- /dev/null +++ b/applications/cli/ripgrep/default.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ ripgrep-all ]; + # programs.ripgrep.enable = true; +} diff --git a/applications/cli/rm-improved/default.nix b/applications/cli/rm-improved/default.nix new file mode 100644 index 0000000..a7cbebf --- /dev/null +++ b/applications/cli/rm-improved/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { home.packages = with pkgs; [ rm-improved ]; } diff --git a/applications/cli/starship/default.nix b/applications/cli/starship/default.nix new file mode 100644 index 0000000..a23ed9c --- /dev/null +++ b/applications/cli/starship/default.nix @@ -0,0 +1,301 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ starship ]; + programs.starship = { + enable = true; + enableFishIntegration = true; + # I CBA to update the formatting to match the rest of the expressions, since + # this is a one-off that I tend to import over directly from starship. + settings = { + format = "[term%](bold green) "; + right_format = "$character$all"; + add_newline = false; + + line_break = { + disabled = true; + }; + + character = { + success_symbol = "[i](bold green)"; + error_symbol = "[x](bold red)"; + vimcmd_symbol = "[n](bold green)"; + vimcmd_visual_symbol = "[v](bold green)"; + vimcmd_replace_symbol = "[R](bold green)"; + vimcmd_replace_one_symbol = "[r](bold green)"; + }; + + git_commit = { + tag_symbol = " tag "; + }; + + git_status = { + ahead = ">"; + behind = "<"; + diverged = "<>"; + renamed = "r"; + deleted = "x"; + }; + + aws = { + symbol = "aws "; + }; + + azure = { + symbol = "az "; + }; + + bun = { + symbol = "bun "; + }; + + c = { + symbol = "C "; + }; + + cobol = { + symbol = "cobol "; + }; + + conda = { + symbol = "conda "; + }; + + crystal = { + symbol = "cr "; + }; + + cmake = { + symbol = "cmake "; + }; + + daml = { + symbol = "daml "; + }; + + dart = { + symbol = "dart "; + }; + + deno = { + symbol = "deno "; + }; + + dotnet = { + symbol = ".NET "; + }; + + directory = { + read_only = " ro"; + }; + + docker_context = { + symbol = "docker "; + }; + + elixir = { + symbol = "exs "; + }; + + elm = { + symbol = "elm "; + }; + + fennel = { + symbol = "fnl "; + }; + + fossil_branch = { + symbol = "fossil "; + }; + + gcloud = { + symbol = "gcp "; + }; + + git_branch = { + symbol = "git "; + }; + + 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 "; + }; + + nodejs = { + symbol = "nodejs "; + }; + + memory_usage = { + symbol = "memory "; + }; + + meson = { + symbol = "meson "; + }; + + nim = { + symbol = "nim "; + }; + + nix_shell = { + symbol = "nix "; + }; + + ocaml = { + symbol = "ml "; + }; + + opa = { + symbol = "opa "; + }; + + os = { + symbols = { + 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 "; + Linux = "lnx "; + Mabox = "mbox "; + Macos = "mac "; + Manjaro = "mjo "; + Mariner = "mrn "; + MidnightBSD = "mid "; + Mint = "mint "; + NetBSD = "nbsd "; + NixOS = "nix "; + OpenBSD = "obsd "; + OpenCloudOS = "ocos "; + openEuler = "oeul "; + openSUSE = "osuse "; + OracleLinux = "orac "; + Pop = "pop "; + Raspbian = "rasp "; + Redhat = "rhl "; + RedHatEnterprise = "rhel "; + Redox = "redox "; + Solus = "sol "; + SUSE = "suse "; + Ubuntu = "ubnt "; + Unknown = "unk "; + Windows = "win "; + }; + }; + + package = { + symbol = "pkg "; + }; + + perl = { + symbol = "pl "; + }; + + php = { + symbol = "php "; + }; + + pijul_channel = { + symbol = "pijul "; + }; + + pulumi = { + symbol = "pulumi "; + }; + + purescript = { + symbol = "purs "; + }; + + python = { + symbol = "py "; + }; + + raku = { + symbol = "raku "; + }; + + ruby = { + symbol = "rb "; + }; + + rust = { + symbol = "rs "; + }; + + scala = { + symbol = "scala "; + }; + + spack = { + symbol = "spack "; + }; + + solidity = { + symbol = "solidity "; + }; + + status = { + symbol = "[x](bold red) "; + }; + + sudo = { + symbol = "sudo "; + }; + + swift = { + symbol = "swift "; + }; + + typst = { + symbol = "typst "; + }; + + terraform = { + symbol = "terraform "; + }; + + zig = { + symbol = "zig "; + }; + }; + }; +} diff --git a/applications/cli/tealdeer/default.nix b/applications/cli/tealdeer/default.nix new file mode 100644 index 0000000..54befa9 --- /dev/null +++ b/applications/cli/tealdeer/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { home.packages = with pkgs; [ tealdeer ]; } diff --git a/applications/default.nix b/applications/default.nix new file mode 100644 index 0000000..885fdcf --- /dev/null +++ b/applications/default.nix @@ -0,0 +1 @@ +_: { imports = [ ./cli ./gui ]; } diff --git a/applications/gui/default.nix b/applications/gui/default.nix new file mode 100644 index 0000000..7c44c60 --- /dev/null +++ b/applications/gui/default.nix @@ -0,0 +1,7 @@ +_: { + imports = [ + ./gemini + # ./kitty + # ./warp + ]; +} diff --git a/applications/gui/gemini/default.nix b/applications/gui/gemini/default.nix new file mode 100644 index 0000000..28d08de --- /dev/null +++ b/applications/gui/gemini/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { home.packages = with pkgs; [ geopard ]; } diff --git a/applications/gui/kitty/default.nix b/applications/gui/kitty/default.nix new file mode 100644 index 0000000..193f352 --- /dev/null +++ b/applications/gui/kitty/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { programs.kitty.enable = true; } diff --git a/applications/gui/warp/default.nix b/applications/gui/warp/default.nix new file mode 100644 index 0000000..347c651 --- /dev/null +++ b/applications/gui/warp/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: { home.packages = with pkgs; [ warp-terminal ]; } -- cgit v1.2.3