summaryrefslogtreecommitdiff
path: root/home/packages.nix
blob: b2f599707ab47472702a7e6ec564d0862beaf3c3 (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
{ config, lib, pkgs, inputs, system, ... }:

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" "$@"
    '')
    # internet apps & clients
    firefox thunderbird keepassxc chromium signal-desktop mumble lynx
    openconnect matterhorn
    # graphics & audio
    audacity blender darktable kdenlive moc ffmpeg-full
    gimp-with-plugins inkscape krita meshlab pavucontrol moc
    gst_all_1.gstreamer
    # LaTeX & documents
    texlive.combined.scheme-full xournal pandoc zathura
    # 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 cachix julia_16-bin python39
    # nix things
    nixfmt niv inputs.deploy-rs.defaultPackage.${system}
    # isabelle
    (import "${inputs.playground.outPath}/isabelle-nix-fhsenv" {inherit pkgs; })
    # (import /home/stuebinm/projects/isabelle-utils {}).isabat
  ];
}