summaryrefslogtreecommitdiff
path: root/home/packages.nix
blob: 93b39655deb8b5dcb6055a001a53af21feee10ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{ config, lib, pkgs, inputs, ... }:

let
    naersk = pkgs.callPackage inputs.naersk {};
    extras = {
        sfz = naersk.buildPackage inputs.sfz;
        almanac = naersk.buildPackage inputs.almanac;
        leylines = pkgs.callPackage "${(pkgs.fetchgit {
            url = "https://gitlab.infra4future.de/stuebinm/leylines";
            sha256 = "sha256-AFZVZeLPCWEjfUcILErag/J+susf7ovEQOg1RaFr4ko=";
        }).outPath}/package.nix" {};
    };
in
{
  home.packages = with pkgs; [
    (emacsWithPackages (epkgs: [ epkgs.exwm epkgs.pdf-tools epkgs.vterm ]))
    emacs-all-the-icons-fonts

    # flake-enabled version of nix
    (pkgs.writeScriptBin "nif" ''
      #!/usr/bin/env bash
      exec ${pkgs.nixFlakes}/bin/nix --experimental-features "nix-command flakes" "$@"
    '')
    # never version of unison for playing around
    (unison-ucm.overrideAttrs (old: rec {
      milestone_id = "M2g";
      version = "1.0.${milestone_id}-alpha";
      src = fetchurl {
        url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/ucm-linux.tar.gz";
        sha256 = "004jx7q657mkcrvilk4lfkp8xcpl2bjflpn9m2p7jzlrlk97v9nj";
      };
    }))
    # internet apps & clients
    firefox thunderbird keepassxc chromium signal-desktop mumble lynx
    openconnect matterhorn
    # graphics & audio
    audacity blender darktable vlc kdenlive moc ffmpeg-full
    gimp-with-plugins inkscape krita meshlab pavucontrol moc
    gst_all_1.gstreamer
    # LaTeX & documents
    texlive.combined.scheme-full xournal pandoc
    # extra documentation, data, resources that aren't programs
    manpages nerdfonts
    # general cli utils
    tree dnsutils inetutils pijul bat age libsecret gping bottom dogdns
    cifs-utils jekyll fzf ripgrep fd bandwhich exa dive
    ripgrep python39Packages.isort shellcheck graphviz
    poppler unzip acpi extras.sfz extras.almanac viu extras.leylines
    youtube-dl
    # git
    gitAndTools.gitAnnex git-bug git-appraise
    # graphical utils
    kitty baobab
    # things for emacs
    sqlite brightnessctl scrot playerctl tlp
    # haskell & co
    ghc cabal-install stack haskell.packages.ghc8107.haskell-language-server
    haskellPackages.hoogle haskellPackages.stylish-haskell
    # other functional things
    racket dhall lean dune_2 ocamlPackages.utop ocamlPackages.ocp-indent
    ocamlPackages.merlin ocaml gauche
    # html, js & co
    jq html-tidy nodePackages.stylelint nodePackages.js-beautify zola
    # purescript
    spago purescript # nodePackages.purescript-language-server nodejs
    # rust
    rls cargo rustc rust-analyzer rustfmt
    # others
    gcc nixfmt niv cachix julia_16-bin python39
    # isabelle
    (import "${inputs.playground.outPath}/isabelle-nix-fhsenv" {inherit pkgs; })
    # (import /home/stuebinm/projects/isabelle-utils {}).isabat
  ];
}