summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorKenny Ballou <kballou@devnulllabs.io>2019-05-01 10:38:37 -0600
committerKenny Ballou <kballou@devnulllabs.io>2019-05-01 10:38:37 -0600
commite574a725cac3255aad67b59b65fc61d1391b7deb (patch)
tree6ae10fbdcd9cd413a8d84d00193968d808816300 /system
parenta30ca28d54ecfce1eb275f371c7f5f70f198e883 (diff)
downloadcfg.nix-e574a725cac3255aad67b59b65fc61d1391b7deb.tar.gz
cfg.nix-e574a725cac3255aad67b59b65fc61d1391b7deb.tar.xz
nix: initial configurations
Add an initial set of configurations as well as configurations for the `phenex` machine. Signed-off-by: Kenny Ballou <kballou@devnulllabs.io>
Diffstat (limited to 'system')
-rw-r--r--system/i18n.nix8
-rw-r--r--system/networking.nix4
-rw-r--r--system/packages.nix158
-rw-r--r--system/timezone.nix5
-rw-r--r--system/users.nix17
-rw-r--r--system/yubikey-gpg.nix15
6 files changed, 207 insertions, 0 deletions
diff --git a/system/i18n.nix b/system/i18n.nix
new file mode 100644
index 0000000..660eb87
--- /dev/null
+++ b/system/i18n.nix
@@ -0,0 +1,8 @@
+{
+ # Select internationalisation properties.
+ i18n = {
+ consoleFont = "Lat2-Terminus16";
+ consoleKeyMap = "us";
+ defaultLocale = "en_US.UTF-8";
+ };
+}
diff --git a/system/networking.nix b/system/networking.nix
new file mode 100644
index 0000000..0d7afbe
--- /dev/null
+++ b/system/networking.nix
@@ -0,0 +1,4 @@
+{ config, ... }:
+{
+ networking.networkmanager.enable = true;
+}
diff --git a/system/packages.nix b/system/packages.nix
new file mode 100644
index 0000000..cbd124f
--- /dev/null
+++ b/system/packages.nix
@@ -0,0 +1,158 @@
+{ config, pkgs, ... }:
+{
+ # System packages
+ environment.systemPackages = with pkgs; [
+ #texFull
+ ag
+ apg
+ aria2
+ aspell
+ aspellDicts.en
+ autogen
+ bash-completion
+ bashInteractive
+ bazaar
+ cacert
+ chromium
+ clamav
+ clementine
+ cryptsetup
+ dejavu_fonts
+ diffstat
+ diffutils
+ ditaa
+ dnsutils
+ docker
+ docker-compose
+ dot2tex
+ doxygen
+ emacs
+ enchant
+ entr
+ exiv2
+ fd
+ ffmpeg
+ findutils
+ firefox
+ fontconfig
+ fzf
+ gawk
+ gdb
+ gimp
+ git
+ gitAndTools.git-crypt
+ gitAndTools.gitFastExport
+ gitAndTools.pass-git-helper
+ gitAndTools.tig
+ gitstats
+ global
+ gnugrep
+ gnumake
+ gnupg
+ gnuplot
+ gnused
+ gnutar
+ graphviz-nox
+ groff
+ hammer
+ haveged
+ highlight
+ htmlTidy
+ htop
+ httperf
+ idutils
+ imagemagick
+ imgcat
+ inkscape.out
+ iotop
+ iperf
+ isync
+ jq
+ kdeApplications.kcachegrind
+ ledger
+ less
+ libreoffice
+ librsvg
+ ltrace
+ m4
+ mercurial
+ mitmproxy
+ mkpasswd
+ msmtp
+ mtr
+ ncdu
+ nfs-utils
+ nix-bash-completions
+ nix-diff
+ nix-zsh-completions
+ nmap
+ nodePackages.csslint
+ nodePackages.eslint
+ nodePackages.js-beautify
+ nodejs
+ octave
+ openjdk8
+ openssh
+ openssl
+ openvpn
+ p7zip
+ pandoc
+ paperkey
+ parallel
+ patch
+ patchutils
+ plantuml
+ poppler_utils
+ pstree
+ pv
+ python27
+ python27Packages.certifi
+ python27Packages.pygments
+ python27Packages.setuptools
+ python3
+ python37Packages.gprof2dot
+ python37Packages.ipdb
+ python37Packages.ipython
+ python37Packages.setuptools
+ pythonDocs.html.python27
+ pythonDocs.pdf_letter.python27
+ qemu
+ qrencode
+ remind
+ renameutils
+ ripgrep
+ rsync
+ rtags
+ screen
+ smartmontools
+ sourceHighlight
+ stow
+ strace
+ subversion
+ svg2tikz
+ tcpdump
+ time
+ tmux
+ tree
+ unzip
+ urlwatch
+ valgrind
+ vim
+ vlc
+ w3m
+ watch
+ watchman
+ wavemon
+ wget
+ whois
+ wireshark-qt
+ wordnet
+ wyrd
+ xsv
+ xz
+ yubikey-personalization
+ zip
+ zsh
+ zsh-syntax-highlighting
+ ];
+}
diff --git a/system/timezone.nix b/system/timezone.nix
new file mode 100644
index 0000000..2113111
--- /dev/null
+++ b/system/timezone.nix
@@ -0,0 +1,5 @@
+{ config, ... }:
+{
+ # Set time zone.
+ time.timeZone = "America/Boise";
+}
diff --git a/system/users.nix b/system/users.nix
new file mode 100644
index 0000000..b08478a
--- /dev/null
+++ b/system/users.nix
@@ -0,0 +1,17 @@
+{ config, pkgs, ... }:
+{
+ # Disable mutable user configuration
+ users.mutableUsers = false;
+ # Local user accounts
+ users.users.kb = {
+ isNormalUser = true;
+ uid = 1000;
+ home = "/home/kb";
+ shell = pkgs.zsh;
+ extraGroups = [ "users"
+ "wheel"
+ "networkmanager"
+ "systemd-journal"
+ ];
+ };
+}
diff --git a/system/yubikey-gpg.nix b/system/yubikey-gpg.nix
new file mode 100644
index 0000000..cadd634
--- /dev/null
+++ b/system/yubikey-gpg.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, ... }:
+{
+ programs.ssh.startAgent = false;
+
+ services.udev.packages = with pkgs; [
+ yubikey-personalization
+ ];
+
+ services.pcscd.enable = true;
+
+ environment.shellInit = ''
+ gpg-connect-agent /bye
+ export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
+ '';
+}