]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - flakes/mypackages/environments/immae-eu.nix
Add flake skeletons
[perso/Immae/Config/Nix.git] / flakes / mypackages / environments / immae-eu.nix
diff --git a/flakes/mypackages/environments/immae-eu.nix b/flakes/mypackages/environments/immae-eu.nix
new file mode 100644 (file)
index 0000000..77325f5
--- /dev/null
@@ -0,0 +1,157 @@
+{ pkgs }: with pkgs;
+let
+  # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
+  # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
+  vlock' = vlock.overrideAttrs(old: {
+    configureFlags = old.configureFlags ++ [ "--enable-root-password=no" ];
+  });
+  go-task' = writeScriptBin "go-task" ''
+    #!/usr/bin/env bash
+
+    export TASK_TEMP_DIR=$XDG_STATE_HOME/go-task
+    exec ${go-task}/bin/go-task -t $XDG_CONFIG_HOME/go-task/Taskfile.yaml "$@"
+  '';
+
+  paths = [
+    # archives
+    lzo unzip bzip2 xz
+    # unrar is unfree
+
+    # backups
+    duply
+
+    # calendar/contacts
+    abook khard khal cadaver vdirsyncerStable pal
+
+    # computing
+    boinctui
+
+    # cryptocurrencies
+    monero
+    cointop
+    # failing xmr-stak
+    solc
+    iota-cli-app
+
+    # debugging
+    rr valgrind netcat-gnu strace shellcheck
+
+    # documentations
+    unicodeDoc
+
+    # e-mails
+    muttprint mutt-ics
+    notmuch-python3 notmuch-vim
+    neomutt mairix
+    bogofilter fetchmail
+    sieve-connect
+
+    # git
+    vcsh gitRepo stgit tig ripgrep mr delta
+
+    # graphical tools
+    nextcloud-client firefox
+    dwm dmenu st xorg.xauth tigervnc
+
+    # images
+    feh imagemagick tiv graphicsmagick qrcode
+
+    # internet browsing
+    w3m lynx links2 elinks browsh python3Packages.woob urlview urlscan googler urlwatch
+
+    # less
+    python3Packages.pygments lesspipe highlight sourceHighlight
+
+    # monitoring
+    cnagios mtop pg_activity nagios-cli mtr
+    iftop htop iotop iperf bonfire
+    goaccess tcpdump wireshark-cli tcpflow
+    mitmproxy
+    # nagnu
+
+    # messaging/forums/news
+    flrn slrn
+    signal-cli signaldctl
+    telegram-cli telegram-history-dump telegramircd
+    weechat profanity
+    newsboat irssi
+
+    # nix
+    yarn2nix-moretea.yarn2nix nixUnstable
+    nix-prefetch-scripts nix-generate-from-cpan
+    bundix nodePackages.bower2nix nix-diff
+    nodePackages.node2nix niv
+    # (nixos {}).nixos-generate-config
+    # (nixos {}).nixos-install
+    # (nixos {}).nixos-enter
+    # (nixos {}).manual.manpages
+
+    # note taking
+    note terminal-velocity jrnl doing nb
+
+    # office
+    sc-im ranger
+    genius bc
+    ledger
+    tmux
+    rtorrent
+    ldapvi
+    fzf
+    buku
+    vimPlugins.vim-plug
+    (vim_configurable.override { python = python3; })
+    mailcap
+    webapps.surfer
+
+    # password management
+    (pass.withExtensions (exts: [ exts.pass-otp ])) apg pwgen
+
+    # pdf
+    pdftk poppler_utils
+
+    # programming
+    emacs-nox ctags
+    wdiff patch gnumake
+
+    # security
+    keybase gnupg
+
+    # todolist/time management
+    taskwarrior vit timewarrior taskopen
+    bugwarrior
+
+    # video/music
+    youtube-dl ncmpc ncmpcpp ffmpeg
+
+    # s6 tools (part of skawarePackages)
+    skalibs execline s6 s6-dns s6-linux-utils s6-networking
+    s6-portable-utils
+
+    # system tools
+    inetutils bind.dnsutils httpie ngrep nmap p0f socat lsof psmisc
+    wget patchelf rename tmux (lib.meta.hiPrio nettools)
+    vlock' mosh man-pages openssl openssl.doc openssl.man
+    sshfs ncdu procps-watch8bit
+
+    # other tools
+    pgloader s3cmd lftp jq cpulimit libxslt gandi-cli bubblewrap
+
+    # AWS
+    awscli
+    ansible
+    openvpn
+
+    zsh-completions
+
+    python3Packages.hetzner
+    smartmontools
+    go-task'
+  ];
+in
+buildEnv {
+  name = "immae-eu-packages";
+  inherit paths;
+  pathsToLink = [ "/bin" "/etc" "/include" "/lib" "/libexec" "/share"];
+  extraOutputsToInstall = [ "bin" "man" "doc" "info" ];
+  passthru = { packages = paths; };
+}