diff options
author | aszlig <aszlig@redmoonstudios.org> | 2017-06-22 13:33:18 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2017-06-22 13:33:18 +0200 |
commit | 689e64a215d4750c82ef3b272217d81c5bbf5c9b (patch) | |
tree | 6747456e52e6eaba5d147d0e008955a939694d9a /modules | |
parent | 6fb4606cd36ba8a1d6755b5f680332f20d4960b9 (diff) | |
parent | 0c4a5eb635bf513890904cf75e0a730861f7ea62 (diff) |
Merge migration of devhell's machines
This merges pull request #15 and thus also introduces @devhell as a new member of vuizvui. Changes were approved by @devhell via XMPP.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/module-list.nix | 3 | ||||
-rw-r--r-- | modules/user/devhell/profiles/base.nix | 117 | ||||
-rw-r--r-- | modules/user/devhell/profiles/packages.nix | 321 | ||||
-rw-r--r-- | modules/user/devhell/profiles/services.nix | 88 |
4 files changed, 529 insertions, 0 deletions
diff --git a/modules/module-list.nix b/modules/module-list.nix index 5994dd61..52c61249 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -29,6 +29,9 @@ ./user/aszlig/services/slim ./user/aszlig/services/vlock ./user/aszlig/system/kernel.nix + ./user/devhell/profiles/base.nix + ./user/devhell/profiles/packages.nix + ./user/devhell/profiles/services.nix ./user/openlab/base.nix ./user/openlab/labtops.nix ./user/openlab/stackenblocken.nix diff --git a/modules/user/devhell/profiles/base.nix b/modules/user/devhell/profiles/base.nix new file mode 100644 index 00000000..123da3ef --- /dev/null +++ b/modules/user/devhell/profiles/base.nix @@ -0,0 +1,117 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.vuizvui.user.devhell.profiles.base; + +in { + options.vuizvui.user.devhell.profiles.base = { + enable = lib.mkEnableOption "Base profile for devhell"; + }; + + config = lib.mkIf cfg.enable { + boot = { + kernelPackages = pkgs.linuxPackages_latest; + cleanTmpDir = true; + }; + + nix = { + buildCores = 0; + useSandbox = true; + }; + + time = { + timeZone = "Europe/London"; + }; + + system = { + fsPackages = with pkgs; [ + sshfsFuse + fuse + cryptsetup + ]; + }; + + hardware = { + enableAllFirmware = true; + cpu.intel.updateMicrocode = true; + opengl = { + s3tcSupport = true; + driSupport32Bit = true; + }; + pulseaudio = { + enable = true; + systemWide = false; + }; + }; + + networking.firewall.enable = false; + + users.users.dev = { + isNormalUser = true; + extraGroups = [ "vboxusers" "wheel" "mpd" "networkmanager" "libvirtd" ]; + uid = 1000; + shell = "${pkgs.zsh}/bin/zsh"; + }; + + programs = { + ssh = { + startAgent = false; + }; + zsh = { + enable = true; + enableCompletion = true; + }; + bash = { + enableCompletion = true; + promptInit = '' + # Provide a nice prompt. + PROMPT_COLOR="1;31m" + let $UID && PROMPT_COLOR="1;32m" + PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] " + if test "$TERM" = "xterm"; then + PS1="\[\033]2;\h:\u:\w\007\]$PS1" + fi + eval `dircolors ~/.dir_colors` + ''; + }; + }; + + environment = { + shells = [ "/run/current-system/sw/bin/zsh" ]; + sessionVariables.TERM = "xterm-256color"; + }; + + fonts = { + fontconfig = { + enable = true; + ultimate = { + enable = true; + }; + }; + enableGhostscriptFonts = true; + enableCoreFonts = true; + fonts = with pkgs; [ + clearlyU + cm_unicode + dejavu_fonts + dosemu_fonts + font-awesome-ttf + freefont_ttf + hack-font + inconsolata + powerline-fonts + proggyfonts + source-code-pro + source-sans-pro + source-serif-pro + terminus_font + tewi-font + ttf_bitstream_vera + ubuntu_font_family + unifont + vistafonts + wqy_microhei + ] ++ lib.filter lib.isDerivation (lib.attrValues lohit-fonts); + }; + }; +} diff --git a/modules/user/devhell/profiles/packages.nix b/modules/user/devhell/profiles/packages.nix new file mode 100644 index 00000000..a62479d0 --- /dev/null +++ b/modules/user/devhell/profiles/packages.nix @@ -0,0 +1,321 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.vuizvui.user.devhell.profiles.packages; + +in { + options.vuizvui.user.devhell.profiles.packages = { + enable = lib.mkEnableOption "Packages profile for devhell"; + }; + + config = lib.mkIf cfg.enable { + nixpkgs.config = { + pulseaudio = true; + + allowUnfree = true; + + systemd = { + enableKDbus = true; + }; + + conky = { + weatherMetarSupport = true; + mpdSupport = true; + wirelessSupport = true; + x11Support = false; + }; + + firefox = { + enableGTK3 = true; + enableOfficalBranding = true; + }; + + virtualbox = { + enableExtensionPack = true; + }; + + mpv = { + youtubeSupport = true; + }; + + nixpkgs.config.packageOverrides = super: { + gnupg = super.gnupg21; + + ncmpcpp = super.ncmpcpp.override { + visualizerSupport = true; + clockSupport = true; + }; + + sox = super.sox.override { + enableLame = true; + }; + }; + }; + + environment.systemPackages = with pkgs; [ + #attic + #emacs + #gitAndTools.git-annex + #ipfs + #john + #lxappearance + #sleuthkit + #texmacs + #tribler + #vimiv + #zotero + abcde + abook + accountsservice + antiword + apg + arandr + arc-theme + ascii + aspell + aspellDicts.de + aspellDicts.en + atftp + atom + audacity + axel + bc + beets + biber + bind + binutils + brotli + bup + cacert + cataclysm-dda + cava + ccrypt + chromaprint + chromium + cifs_utils + cipherscan + cmake + cmatrix + colordiff + compton + conky + cryptsetup + ctodo + cuetools + darkstat + dcfldd + ddrescue + dhcping + dmenu + dmidecode + docker + dos2unix + dosbox + duff + dynamic-colors + e2fsprogs + easytag + electrum + enhanced-ctorrent + ethtool + evince + fbida + fdupes + feh + ffmpeg-full + figlet + file + firefox + flac + foremost + freerdpUnstable + fuse_exfat + gajim + gcc + gdb + ghostscript + gimp + gitAndTools.git-extras + gitAndTools.git-remote-hg + gitAndTools.git2cl + gitAndTools.gitFastExport + gitAndTools.gitFull + gitAndTools.gitRemoteGcrypt + gitAndTools.gitSVN + gitAndTools.gitflow + gitAndTools.svn2git + gitAndTools.tig + glxinfo + gnome3.dconf + gnome3.defaultIconTheme + gnome3.gnome_themes_standard + gnufdisk + gnupg + gnupg1compat + gource + gparted + gpgme + gpicview + gptfdisk + graphviz + gstreamer + handbrake + hdparm + heimdall + hexedit + hplipWithPlugin + htop + i3lock + i3status + icedtea_web + iftop + imagemagick + impressive + inkscape + iotop + iptraf-ng + ipv6calc + jfsutils + jwhois + keepassx + keepassx-community + keepassx2 + keybase + kpcli + lftp + libarchive + libreoffice + lm_sensors + lsof + lxc + lynx + macchanger + manpages + mc + mcabber + mdp + mediainfo + mkvtoolnix + mmv + monkeysAudio + mono + monodevelop + mosh + mp3gain + mpc_cli + mpv + mtr + ncdu + ncmpcpp + neovim + nethack + nethogs + netkittftp + netrw + netsniff-ng + nitrogen + nix-prefetch-scripts + nix-repl + nixops + nload + nmap + ntfs3g + ntfsprogs + ntopng + numix-icon-theme + obnam + openssl + p7zip + pandoc + paperkey + pass + pasystray + pavucontrol + pciutils + picard + posix_man_pages + powertop + profanity + profile-cleaner + profile-sync-daemon + pv + python + python2 + python3 + python34Packages.hovercraft + pythonPackages.jrnl + pythonPackages.livestreamer + pythonPackages.rainbowstream + qemu + qrencode + recode + reiserfsprogs + rofi + rsync + ruby + safecopy + screen + scrot + shntool + silver-searcher + smartmontools + sox + speedtest-cli + spek + ssdeep + stow + strace + surfraw + taskwarrior + telnet + testdisk + texlive.combined.scheme-small + tftp-hpa + tldr + tmux + toilet + tomahawk + toxic + transcode + transgui + transmission_remote_gtk + tree + tty-clock + udevil + units + unrar + unzip + valgrind + vanilla-dmz + vim_configurable + virt-viewer + virtinst + virtmanager + vit + vivaldi + vlc + vlock + vnstat + vorbisTools + vorbisgain + w3m + wavpack + weechat + wget + which + wipe + wireshark + xfsprogs + xlibs.xev + xmpp-client + xpdf + xpra + xscreensaver + youtube-dl + zathura + zbar + zip + zsync + ]; + }; +} diff --git a/modules/user/devhell/profiles/services.nix b/modules/user/devhell/profiles/services.nix new file mode 100644 index 00000000..86af3eca --- /dev/null +++ b/modules/user/devhell/profiles/services.nix @@ -0,0 +1,88 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.vuizvui.user.devhell.profiles.services; + +in { + options.vuizvui.user.devhell.profiles.services = { + enable = lib.mkEnableOption "Services profile for devhell"; + }; + + config = lib.mkIf cfg.enable { + virtualisation = { + virtualbox = { + host = { + enable = true; + enableHardening = true; + }; + }; + libvirtd = { + enable = true; + enableKVM = true; + }; + }; + + services = { + gpm.enable = true; + openssh.enable = true; + haveged.enable = true; + thermald.enable = true; + udisks2.enable = true; + redshift = { + enable = true; + latitude = "51.2750"; + longitude = "1.0870"; + }; + }; + + services.xserver = { + displayManager.lightdm.enable = true; + desktopManager.xterm.enable = false; + desktopManager.default = "none"; + }; + + services.xserver.windowManager = { + i3.enable = true; + default = "i3"; + }; + + services.syncthing = { + enable = true; + user = "dev"; + }; + + services.journald.extraConfig = '' + SystemMaxUse = 50M + ''; + + services.psd = { + enable = false; + users = [ "dev" ]; + browsers = [ "chromium" ]; + }; + + services.mpd = { + enable = true; + extraConfig = '' + input { + plugin "curl" + } + + audio_output { + type "fifo" + name "FIFO Output" + path "/tmp/mpd.fifo" + format "44100:16:2" + } + + audio_output { + type "pulse" + name "Pulse Output" + server "127.0.0.1" + } + + replaygain "album" + ''; + }; + }; +} |