infra/nix/home-manager/configuration/graphical-fullblown.nix

375 lines
7.1 KiB
Nix

{ pkgs
, config
, ... }:
let
# gitpkgs = import /home/steveej/src/github/NixOS/nixpkgs {};
unstablepkgs = import <channels-nixos-unstable> { config = config.nixpkgs.config; };
masterpkgs = import <nixpkgs-master> { config = config.nixpkgs.config; };
in {
imports = [
../profiles/common.nix
../profiles/qtile-desktop.nix
../profiles/dotfiles.nix
../programs/emacs.nix
../programs/firefox.nix
../programs/chromium.nix
../programs/homeshick.nix
../programs/libreoffice.nix
../programs/neovim.nix
../programs/pass.nix
../programs/zsh.nix
];
nixpkgs.config = {
pidgin = {
openssl = true;
gnutls = true;
};
packageOverrides = pkgs: with pkgs; {
myPython36 = python36Full.withPackages (ps: with ps; [
pep8 yapf flake8
# autopep8 (broken)
# pylint (broken)
ipython
llfuse
dugong
defusedxml
wheel
pip
virtualenv
pypi2nix
cffi
pyopenssl
urllib3
mistune
flask
pyaml
] ++ [
pkgs.libffi
]);
};
};
home.sessionVariables = {
# TODO: find a way to prevent using a store path for the current file
# HM_CONFIG_PATH=builtins.toString "${./.}";
HM_CONFIG="graphical-fullblown";
GOPATH="$HOME/src/go";
PATH=pkgs.lib.concatStringsSep ":" [
"$HOME/.local/bin"
"$HOME/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin"
"$HOME/.cargo/bin"
"$HOME/.gem/ruby/2.3.0/bin"
"$HOME/.npm-packages/bin"
"$GOPATH/bin"
"$PATH"
];
};
home.packages = []
++ (with pkgs; [
# Authentication
cacert
fprintd
openssl
mkpasswd
# Nix package related tools
patchelf
nix-index
nox
nix-prefetch-scripts
nix-prefetch-github
# Version Control Systems
unstablepkgs.pijul
gitless
gitRepo
git-lfs
# Cloud/Remote System Management
google-cloud-sdk
ansible
nixops
unstablepkgs.terraform
awscli
hcloud
# Process/System Administration
htop
gnome3.gnome-tweak-tool
xorg.xhost
dmidecode
python36Packages.glances
evtest
# Archive Managers
sshfsFuse
xarchive
p7zip
zip
unzip
gzip
lzop
# Password Management
gnupg
yubikey-manager
yubikey-neo-manager
yubikey-personalization
yubikey-personalization-gui
gnome3.gnome_keyring
gnome3.seahorse
# Language Support
hunspellDicts.en-us
hunspellDicts.de-de
# Messaging/Communication
pidgin
hexchat
aspellDicts.en
aspellDicts.de
unstablepkgs.skype
zoom-us
unstablepkgs.bluejeans-gui
thunderbird
gnome3.evolution # gnome4.glib_networking
tdesktop
gnome3.cheese
# Virtualization
masterpkgs.virtmanager
(pkgs.lib.hiPrio qemu)
# virtualbox
vagrant
rkt
docker_compose
# unstablepkgs.kubernetes
unstablepkgs.minikube
unstablepkgs.openshift
# (unstablepkgs.minikube.overrideAttrs (oldAttrs: {
# patches = oldAttrs.patches ++ [
# (builtins.fetchurl { url ="https://patch-diff.githubusercontent.com/raw/kubernetes/minikube/pull/2517.diff"; })
# ];
# }))
# Remote Control Tools
remmina
freerdp
x2goclient
teamviewer
# Audio/Video Players
ffmpeg
vlc
audacity
spotify
smtube
python27Packages.youtube-dl-light
screenkey
quvi
# Network Tools
openvpn
tcpdump
iftop
iperf
bind
socat
# 2019-03-05: broken on 19.03 linssid
iptraf-ng
ipmitool
# samba
iptables
nftables
wireshark
# Code Editors
unstablepkgs.atom
xclip
xsel
unstablepkgs.vscode
# (vscode-with-extensions.override {
# # When the extension is already available in the default extensions set.
# vscodeExtensions = with vscode-extensions; [
# ]
# # Concise version from the vscode market place when not available in the default set.
# ++ vscode-utils.extensionsFromVscodeMarketplace [
# {
# name = "vsliveshare";
# publisher = "MS-vsliveshare";
# version = "0.3.198";
# sha256 = "019ffyxca3qnqyz1fr7vh0plfdkc3ikr8v295z846lghvwlzjqdh";
# }
# ];
# })
# Image/Graphic/Design Tools
gnome3.eog
gimp
imagemagick
exiv2
graphviz
inkscape
## barcode
qrencode
zbar
feh
# digikam
# Modelling Tools
# plantuml
# umlet
staruml
# eclipses.eclipse-modeling
# dia
# astah-community
# Misc Development Tools
qrcode
travis
jq
prometheus
cdrtools
# Document Processing and Management
zathura
mendeley
jabref
zotero
hugo
pandoc
# LaTeX
perlPackages.YAMLTiny
perlPackages.FileHomeDir
perlPackages.UnicodeLineBreak
(texlive.combine {
inherit (texlive)
scheme-small
texlive-de
texlive-en
texlive-scripts
collection-langgerman
latexindent
latexmk
algorithms
cm-super
preprint
enumitem
draftwatermark
everypage
ulem
placeins
minted ifplatform fvextra xstring framed
;
})
pdftk
masterpdfeditor
# File Synchronzation
seafile-client
grive2
dropbox
# gocryptfs
# hubicfuse
# s3ql
# rclone
rsync
# Filesystem Tools
ntfs3g
ddrescue
ncdu
woeusb
unetbootin
pcmanfm
hdparm
testdisk
python27Packages.binwalk
gptfdisk
gparted
# games
zeroad
# Compilers & Toolchains
autoconf
automake
libtool
gcc
pkgconfig
binutils
valgrind
gdb
cgdb
man-pages
gnumake
shellcheck
bazel
## Android
androidenv.androidPkgs_9_0.platform-tools
## Java
# jre
# openjdk
## Ruby
# ruby
## Python
myPython36
pypi2nix
## Webdev
nodejs-8_x
npm2nix
emscripten
# Code generators
unstablepkgs.swagger-codegen
# Misc Desktop Tools
ltunify
solaar
dex
# kitty
busyboxStatic
xorg.xbacklight
coreutils
lsof
x11_ssh_askpass
xdotool
xdg_utils
xdg-user-dirs
gnome3.dconf
picocom
glib.dev # contains gdbus tool
# Screen recording
# gtk-recordmydesktop # can't select the window
# qt-recordmydesktop
# vokoscreen
# shutter
# kazam # doesn't start
# xvidcap # doesn't keep the recording rectangle
obs-studio
# shotcut
# openshot-qt
]);
}