diff options
Diffstat (limited to '.config/nixpkgs/config.nix')
-rw-r--r-- | .config/nixpkgs/config.nix | 481 |
1 files changed, 364 insertions, 117 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix index d8f9248..a95debd 100644 --- a/.config/nixpkgs/config.nix +++ b/.config/nixpkgs/config.nix @@ -1,17 +1,28 @@ let + pkgs = import <nixpkgs> { }; + + system = builtins.currentSystem; + + previous = import (builtins.fetchTarball { + url = "https://releases.nixos.org/nixos/22.11/nixos-22.11.466.596a8e828c5/nixexprs.tar.xz"; + sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg"; }) { inherit system; }; + stable = import (builtins.fetchTarball { - url = "https://releases.nixos.org/nixos/20.09/nixos-20.09.3346.4d0ee90c6e2/nixexprs.tar.xz"; - sha256 = "1hl3ibkqpk0fihppj85fgiin5r6l9jsqmfjbmcqfyjvykh9fy6ag"; }) {}; + url = "https://releases.nixos.org/nixos/23.11/nixos-23.11.6510.a5e4bbcb4780/nixexprs.tar.xz"; + sha256 = "0f73pbh4j89wgk7rn9xp0q8ybw15zkhw0prjz5r37aaryjs8hnbd"; }) { inherit system; }; unstable = import (builtins.fetchTarball { - url = "https://releases.nixos.org/nixos/unstable/nixos-21.03pre265961.891f607d530/nixexprs.tar.xz"; - sha256 = "1hwwb4n15bbqxnbqffq4kfb369vz65sq74p537fqdp6i4ywpqsyh"; }) {}; + url = "https://releases.nixos.org/nixos/unstable/nixos-24.05pre615148.6143fc5eeb9c/nixexprs.tar.xz"; + sha256 = "0bymwq04dxl3ljjjzw21aspdnwwfm56pqi218lg0vdwargy8yxm8"; }) { inherit system; }; in { + allowBroken = true; allowUnfree = true; + allowUnsupportedSystem = true; + allowInsecurePredicate = pkgs: true; packageOverrides = pkgs: with stable; { @@ -20,9 +31,9 @@ in Woodpecker = pkgs.buildEnv { name = "woodpecker"; paths = [ - Terminal Graphical Xorg Awesome Fonts Audio LaTeX - Android JavaScript Python PHP Lua Elixir Html Shell Haskell - Perl Nix C Golang Rust CSS SQL YAML + Terminal Graphical Xorg Wayland Awesome Fonts Audio LaTeX Dictionary Android + JavaScript Python PHP Lua Elixir HTML Shell Haskell Perl Nix C Golang Rust CSS + SQL YAML HTTP Ruby Nim Themes Emulators Clojure Lisp ]; }; @@ -36,17 +47,22 @@ in Ferret = pkgs.buildEnv { name = "ferret"; - paths = [ Terminal Graphical Fonts Xorg Awesome Audio ]; + paths = [ Terminal Graphical Fonts Xorg Awesome Audio Themes ]; }; Tiger = pkgs.buildEnv { name = "tiger"; - paths = [ Nix Terminal Graphical Fonts Xorg Awesome JavaScript Python ]; + paths = [ Nix Terminal Graphical Fonts Xorg Awesome JavaScript Python Themes ]; }; Hound = pkgs.buildEnv { name = "hound"; - paths = [ Terminal Graphical Fonts Xorg Xfce JavaScript Python ]; + paths = [ Terminal Graphical Fonts Xorg Xfce JavaScript Python Themes ]; + }; + + Ant = pkgs.buildEnv { + name = "ant"; + paths = [ Xorg-Aarch64 Xfce-Aarch64 Terminal-Aarch64 Graphical-Aarch64 Themes Fonts ]; }; # Package Sets @@ -54,21 +70,33 @@ in Terminal = pkgs.buildEnv { name = "terminal"; paths = [ - (callPackage ./packages/chromexup/default.nix {}) - (callPackage ./packages/gmni/default.nix {}) - (callPackage ./packages/literate/default.nix {}) - (callPackage ./packages/systemd2nix/default.nix {}) - (callPackage ./packages/youtube-dl/default.nix {}) - (pass.withExtensions (ext: with ext; [ (callPackage ./packages/pass-import/default.nix {}) pass-audit pass-otp ])) - unstable.amfora - unstable.emacs - unstable.fzf + (callPackage ./packages/chromexup/package.nix { }) + (callPackage ./packages/emacs-batch-indent/package.nix { }) + (callPackage ./packages/pdf2htmlex/package.nix { }) + (callPackage ./packages/systemd2nix/package.nix { }) + (pass.withExtensions (ext: with ext; [ pass-import pass-audit pass-otp ])) unstable.hugo + unstable.piper-tts + unstable.validator-nu + unstable.vimHugeX + unstable.yt-dlp + unstable.ios-webkit-debug-proxy + unstable.libimobiledevice aerc + alacritty alsaUtils + amfora + ansi2html ansible + atftp + atool bat + bind bleachbit + cava + cloc + csvkit + curlftpfs davmail desktop-file-utils diceware @@ -76,21 +104,27 @@ in docker-compose dtrx electrum + emacs encfs entr - exercism + expect + fdupes ffmpeg flashrom fortune + fzf gettext gifsicle git groff + hexedit + hexyl highlight ideviceinstaller imagemagick img2pdf jpegoptim + jq keychain kjv libqalculate @@ -98,38 +132,49 @@ in mdcat mimeo moc + monolith neofetch + netcat-openbsd + nethogs newsboat nnn + nodePackages.mermaid-cli ocrmypdf pandoc - picotts + pdsh + pipes + plantuml pngnq pngquant poppler_utils - powertop - pulsemixer + pssh + quickemu ranger rclone ripgrep rxvt-unicode - sbcl + s-tui + sfeed silver-searcher sshfs subversion surfraw tcl + tesseract tmux + toipe trash-cli units vale - vault - vimHugeX + vcal + ventoy-bin vnstat w3m wavemon weechat + woof xdg-user-dirs + xterm zbar ]; pathsToLink = [ "/etc" "/share" "/bin" ]; @@ -138,88 +183,97 @@ in Graphical = pkgs.buildEnv { name = "graphical"; paths = [ - (callPackage ./packages/beaker-browser/default.nix {}) - (callPackage ./packages/boomer/default.nix {}) - (callPackage ./packages/dmenu/default.nix {}) - (callPackage ./packages/gnaural/default.nix {}) - (callPackage ./packages/ntrviewer/default.nix {}) - unstable.nyxt - unstable.tilp2 + (callPackage ./packages/boomer/package.nix { }) + (callPackage ./packages/dmenu/package.nix { }) + (callPackage ./packages/rofi/package.nix { }) + (callPackage ./packages/sowon/package.nix { }) + (mplayer.override { v4lSupport = true; }) + previous.code-server + previous.qownnotes + previous.recoll + unstable.firefox + unstable.google-chrome unstable.ungoogled-chromium aegisub anki - audacity blender - code-server - copyq + claws-mail + corrscope dconf diffpdf escrotum evince + exiftool feh - firefox flameshot freerdp + fsearch gImageReader + gcolor2 gimp - gnome3.simple-scan - gnome3.zenity - google-chrome + gnaural gparted + gromit-mpx + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer i3lock-fancy + kcharselect keepassxc krop libnotify libreoffice + liferea mate.engrampa meld - mplayer - mupdf + mupdf_1_17 mypaint - palemoon pavucontrol peek - planner - qownnotes qrencode - recoll redshift - rofi scrcpy screenkey - scribus + sent sigil skippy-xd spaceFM + stalonetray sublime3 sxiv syncthing - tabula - thunderbird tigervnc transmission-gtk treesheets - treesheets - unclutter - vimb virt-manager + vlc vscodium xournalpp xsane + yad zathura - zim + zeal + ]; + }; + + Emulators = pkgs.buildEnv { + name = "emulators"; + paths = [ + (callPackage ./packages/ntrviewer/package.nix { }) + (callPackage ./packages/tiemu/package.nix { }) + desmume + mgba ]; - pathsToLink = [ "/share" "/bin" ]; }; Xorg = pkgs.buildEnv { name = "xorg"; paths = [ - (callPackage ./packages/x11vnc/default.nix {}) - (callPackage ./packages/xprintidle/default.nix {}) + autocutsel glxinfo - tdrop + unclutter-xfixes wmctrl + x11vnc xbindkeys xdotool xorg.xauth @@ -239,99 +293,151 @@ in xorg.xrdb xorg.xset xorg.xsetroot + xprintidle xsel xzoom ]; }; - Awesome = pkgs.buildEnv { - name = "awesome"; + Wayland = pkgs.buildEnv { + name = "wayland"; paths = [ - (callPackage ./packages/deepin-gtk-theme/default.nix {}) - awesome - lxappearance + (callPackage ./packages/wf-shell/package.nix { }) + wayfire + weston + wev + wofi ]; - pathsToLink = [ "/share" "/bin" ]; + }; + + Awesome = pkgs.buildEnv { + name = "awesome"; + paths = [ (callPackage ./packages/awesome/package.nix { }) ]; }; Xfce = pkgs.buildEnv { name = "xfce"; paths = [ - plank + bamf deadbeef - zuki-themes + dunst + plank polkit_gnome xfce.exo - xfce.gvfs xfce.garcon - xfce.tumbler - xfce.xfwm4 - xfce.xfwm4-themes + xfce.libxfce4ui + xfce.libxfce4util xfce.thunar xfce.thunar-archive-plugin xfce.thunar-volman - xfce.xfconf - xfce.xfdesktop - xfce.libxfce4ui - xfce.libxfce4util xfce.xfce4-session xfce.xfce4-settings + xfce.xfconf + xfce.xfdesktop + xfce.xfwm4 + xfce.xfwm4-themes + zuki-themes ]; }; Fonts = pkgs.buildEnv { name = "fonts"; paths = [ - (callPackage ./packages/nerdfonts-dejavu-sans-mono/default.nix {}) - etBook - ibm-plex - corefonts + (callPackage ./packages/nerdfonts-dejavu-sans-mono/package.nix { }) cm_unicode cooper-hewitt + corefonts + etBook + fira + fira-code + fira-code-symbols + fira-mono font-awesome_4 - yanone-kaffeesatz + ibm-plex + inter noto-fonts noto-fonts-cjk noto-fonts-emoji - fira - fira-code - fira-mono - fira-code-symbols source-code-pro + source-sans-pro source-serif-pro + yanone-kaffeesatz + ]; + }; + + Themes = pkgs.buildEnv { + name = "themes"; + paths = [ + glib + gnome.dconf-editor + gnome.gnome-themes-extra + gtk-engine-murrine + gtk3.dev + librsvg + lxappearance + papirus-icon-theme + qt5ct + unstable.nwg-look + vanilla-dmz + ]; + }; + + Dictionary = pkgs.buildEnv { + name = "dictionary"; + paths = [ + (aspellWithDicts (dictionary: [ + dictionary.en + dictionary.en-computers + dictionary.en-science + ])) + hunspell + hunspellDicts.en_US-large + hyphen + mythes ]; }; Audio = pkgs.buildEnv { name = "audio"; - paths = [ ardour cadence qjackctl jack2 ]; + paths = [ + (callPackage ./packages/qprompt/package.nix { }) + ardour + pulsemixer + qjackctl + tenacity + ]; }; - LaTeX = pkgs.buildEnv { - name = "latex"; - paths = [ gummi texworks texlive.combined.scheme-full ]; + Design = pkgs.buildEnv { + name = "design"; + paths = [ kicad freecadStable openscad librecad ]; }; Android = pkgs.buildEnv { name = "android"; paths = [ - (callPackage ./packages/edl/default.nix {}) - (callPackage ./packages/mkbootfs/default.nix {}) - (callPackage ./packages/mkbootimg/default.nix {}) + (callPackage ./packages/mkbootfs/package.nix { }) + (callPackage ./packages/mkbootimg/package.nix { }) + edl abootimg ]; }; + LaTeX = pkgs.buildEnv { + name = "latex"; + paths = [ gummi texlive.combined.scheme-full previous.texworks ]; + }; + JavaScript = pkgs.buildEnv { name = "javascript"; paths = [ - nodejs-14_x unstable.deno - nodePackages.bower2nix + unstable.swc + esbuild nodePackages.eslint nodePackages.jsonlint - nodePackages.node2nix nodePackages.prettier + nodejs ]; pathsToLink = [ "/bin" ]; }; @@ -339,64 +445,94 @@ in Python = pkgs.buildEnv { name = "python"; paths = [ - (python38.withPackages (ps: with ps; [ bandit black mypy pyflakes pylint ])) + (python3.withPackages (ps: with ps; [ + bandit + black + flake8 + mypy + pyflakes + pygments + pylint + ])) + ruff ]; }; PHP = pkgs.buildEnv { name = "php"; paths = [ - php74 - php74Packages.psysh - php74Packages.psalm - php74Packages.phpcbf - php74Packages.phpstan - php74Packages.composer + (php.buildEnv { + extensions = ({ enabled, all }: enabled ++ (with all; [ xdebug ])); + extraConfig = '' + xdebug.mode=develop,debug + xdebug.start_with_request=yes + ''; + }) + (callPackage ./packages/phar-composer/package.nix { }) + graphviz + kcachegrind + phpPackages.composer + phpPackages.phpcbf + phpPackages.phpstan + phpPackages.psalm + phpPackages.psysh ]; }; Lua = pkgs.buildEnv { name = "lua"; paths = [ - (callPackage ./packages/luaformatter/default.nix {}) - lua5_3 - lua53Packages.luacheck + (callPackage ./packages/redbean/package.nix { }) + lua + luaPackages.luacheck + luaformatter ]; }; Elixir = pkgs.buildEnv { name = "elixir"; - paths = [ elixir_1_10 ]; + paths = [ elixir ]; }; - Html = pkgs.buildEnv { + HTML = pkgs.buildEnv { name = "html"; paths = [ html-tidy html-xml-utils libxml2 + libxslt xmlstarlet ]; }; Shell = pkgs.buildEnv { name = "shell"; - paths = [ bats dash shellcheck shfmt ]; + paths = [ dash fish bats shellcheck shfmt ]; }; Haskell = pkgs.buildEnv { name = "haskell"; - paths = [ ghc ghcid haskellPackages.hlint haskellPackages.brittany ]; + paths = [ ghc ghcid haskellPackages.hlint previous.haskellPackages.brittany ]; + }; + + Clojure = pkgs.buildEnv { + name = "clojure"; + paths = [ clojure leiningen ]; }; Perl = pkgs.buildEnv { name = "perl"; - paths = [ rakudo perl530 perl530Packages.PerlCritic perl530Packages.PerlTidy ]; + paths = [ rakudo (perl.withPackages (ps: with ps; [ PerlCritic PerlTidy TextLorem LaTeXML ])) ]; }; Nix = pkgs.buildEnv { name = "nix"; - paths = [ nixos-generators nix-index nix-linter nixfmt nixpkgs-fmt nixpkgs-lint ]; + paths = [ nix-index previous.nix-linter nixfmt nixpkgs-fmt nixpkgs-lint ]; + }; + + Ruby = pkgs.buildEnv { + name = "ruby"; + paths = [ rubocop ruby ]; }; C = pkgs.buildEnv { @@ -406,7 +542,7 @@ in Golang = pkgs.buildEnv { name = "golang"; - paths = [ go unstable.gore ]; + paths = [ go gore ]; }; Rust = pkgs.buildEnv { @@ -414,32 +550,143 @@ in paths = [ evcxr rustup ]; }; + Nim = pkgs.buildEnv { + name = "nim"; + paths = [ nim ]; + }; + + Lisp = pkgs.buildEnv { + name = "lisp"; + paths = [ + (pkgs.writeScriptBin "guile" '' + export GUILE_LOAD_PATH="${pkgs.lib.concatStrings [ + "${unstable.guile-gnutls}/share/guile/site/3.0:" + "$GUILE_LOAD_PATH" + ]}" + ${unstable.guile_3_0}/bin/guile "$@" + '') + sbcl + ]; + }; + + HTTP = pkgs.buildEnv { + name = "http"; + paths = [ caddy apacheHttpd httpie ]; + }; + CSS = pkgs.buildEnv { name = "css"; paths = [ - (callPackage ./packages/csstidy/default.nix {}) + (previous.callPackage ./packages/csstidy/package.nix { }) + nodePackages.stylelint csslint + sassc ]; }; SQL = pkgs.buildEnv { name = "sql"; paths = [ - (callPackage ./packages/skeema/default.nix {}) - (callPackage ./packages/sqldef/default.nix {}) - (callPackage ./packages/sqlfluff/default.nix {}) - dbeaver pgformatter + skeema + sqlfluff sqlint sqlite + sqlitebrowser + unstable.sqldef ]; }; YAML = pkgs.buildEnv { name = "yaml"; paths = [ - (callPackage ./packages/ruamel.yaml.cmd/default.nix {}) - python38Packages.yamllint + (previous.callPackage ./packages/yaml2nix/package.nix { }) + (callPackage ./packages/ruamel.yaml.cmd/package.nix { }) + python39Packages.yamllint + yj + ]; + }; + + Xorg-Aarch64 = pkgs.buildEnv { + name = "xorg-aarch64"; + paths = [ + glxinfo + unclutter-xfixes + wmctrl + x11vnc + xbindkeys + xdotool + xorg.xauth + xorg.xev + xorg.xf86inputevdev + xorg.xf86inputlibinput + xorg.xf86videofbdev + xorg.xinit + xorg.xinput + xorg.xmodmap + xorg.xorgserver + xorg.xrandr + xorg.xrdb + xorg.xset + xorg.xsetroot + xprintidle + xsel + xzoom + ]; + }; + + Xfce-Aarch64 = pkgs.buildEnv { + name = "xfce-aarch64"; + paths = [ + bamf + dunst + polkit_gnome + xfce.exo + xfce.garcon + xfce.libxfce4ui + xfce.libxfce4util + xfce.thunar + xfce.thunar-archive-plugin + xfce.thunar-volman + xfce.xfce4-session + xfce.xfce4-settings + xfce.xfconf + xfce.xfdesktop + xfce.xfwm4 + xfce.xfwm4-themes + zuki-themes + ]; + }; + + Graphical-Aarch64 = pkgs.buildEnv { + name = "graphical-aarch64"; + paths = [ + unstable.firefox + unstable.ungoogled-chromium + audacity + freerdp + fsearch + galculator + gpicview + pavucontrol + pcmanfm + sylpheed + xsane + ]; + }; + + Terminal-Aarch64 = pkgs.buildEnv { + name = "terminal-aarch64"; + paths = [ + unstable.vimHugeX + alsaUtils + fzf + libnotify + redshift + rofi + rxvt-unicode + skippy-xd + tigervnc ]; }; }; |