diff options
67 files changed, 666 insertions, 497 deletions
diff --git a/jeschli/1systems/bln/config.nix b/jeschli/1systems/bln/config.nix index 371a7052..6e3c3bec 100644 --- a/jeschli/1systems/bln/config.nix +++ b/jeschli/1systems/bln/config.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: # bln config file { - imports = [ + imports = [ ./hardware-configuration.nix <stockholm/jeschli> <stockholm/jeschli/2configs/virtualbox.nix> @@ -9,6 +9,8 @@ <stockholm/jeschli/2configs/emacs.nix> <stockholm/jeschli/2configs/xdg.nix> <stockholm/jeschli/2configs/xserver> +# <stockholm/jeschli/1systems/bln/dcso-vpn.nix> + <stockholm/jeschli/2configs/officevpn.nix> ]; # boot.loader.systemd-boot.enable = true; @@ -94,6 +96,8 @@ vagrant # document viewer zathura + + samba ]; @@ -161,4 +165,9 @@ hardware.bluetooth.enable = true; krebs.build.host = config.krebs.hosts.bln; + + networking.interfaces.enp0s31f6.ipv4.addresses = [ + { address = "10.99.23.2"; prefixLength = 24; } + ]; + } diff --git a/jeschli/1systems/brauerei/config.nix b/jeschli/1systems/brauerei/config.nix index 5a6ad765..e200cbcd 100644 --- a/jeschli/1systems/brauerei/config.nix +++ b/jeschli/1systems/brauerei/config.nix @@ -25,21 +25,11 @@ preLVM = true; allowDiscards = true; } ]; -# networking.hostName = "brauerei"; - # Define your hostname. -# networking.wireless.enable = true; networking.networkmanager.enable = true; - # Enables wireless support via wpa_supplicant. - # Select internationalisation properties. - # i18n = { - # consoleFont = "Lat2-Terminus16"; - # consoleKeyMap = "us"; - # defaultLocale = "en_US.UTF-8"; - # }; - # Set your time zone. # time.timeZone = "Europe/Amsterdam"; + nixpkgs.config.allowUnfree = true; - # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget + environment.shellAliases = { n = "nix-shell"; stocki = pkgs.writeDash "deploy" '' @@ -47,6 +37,7 @@ exec nix-shell -I stockholm="$PWD" --run 'deploy --system="brauerei"' ''; }; + environment.systemPackages = with pkgs; [ # system helper ag @@ -103,6 +94,7 @@ zathura # xorg xorg.xbacklight + taskwarrior ]; # Some programs need SUID wrappers, can be configured further or are @@ -126,7 +118,7 @@ display = 11; tty = 11; - dpi = 96; + dpi = 144; # videoDrivers = [ "nvidia" ]; synaptics = { @@ -138,7 +130,7 @@ users.extraUsers.jeschli = { # TODO: define as krebs.users isNormalUser = true; - extraGroups = ["docker" "vboxusers"]; + extraGroups = ["docker" "vboxusers" "audio"]; uid = 1000; }; users.extraUsers.jamie = { diff --git a/jeschli/1systems/brauerei/hardware-configuration.nix b/jeschli/1systems/brauerei/hardware-configuration.nix index 75fdb89f..2cb3e666 100644 --- a/jeschli/1systems/brauerei/hardware-configuration.nix +++ b/jeschli/1systems/brauerei/hardware-configuration.nix @@ -29,5 +29,6 @@ swapDevices = [ ]; + hardware.pulseaudio.enable = true; nix.maxJobs = lib.mkDefault 4; } diff --git a/jeschli/2configs/IM.nix b/jeschli/2configs/IM.nix index 171b7824..288134fa 100644 --- a/jeschli/2configs/IM.nix +++ b/jeschli/2configs/IM.nix @@ -30,7 +30,7 @@ in { jeschli-bln.pubkey jeschli-brauerei.pubkey ]; - packages = [ tmux ]; + packages = [ tmux ]; }; diff --git a/jeschli/2configs/emacs.nix b/jeschli/2configs/emacs.nix index 4c52432d..3bd2dbfc 100644 --- a/jeschli/2configs/emacs.nix +++ b/jeschli/2configs/emacs.nix @@ -17,18 +17,19 @@ let ''; evilMode = '' ;; Evil Mode - (add-to-list 'load-path "~/.emacs.d/evil") (require 'evil) (evil-mode 1) - (require 'evil-org) - (add-hook 'org-mode-hook 'evil-org-mode) - (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) - (require 'evil-org-agenda) - (evil-org-agenda-set-keys) + ;; (require 'evil-org) + ;; (add-hook 'org-mode-hook 'evil-org-mode) + ;; (evil-org-set-key-theme '(navigation insert textobjects additional calendar)) + ;; (require 'evil-org-agenda) + ;; (evil-org-agenda-set-keys) ''; windowCosmetics = '' + (menu-bar-mode -1) (tool-bar-mode -1) ; Disable the button bar atop screen (scroll-bar-mode -1) ; Disable scroll bar + (toggle-scroll-bar -1) (setq inhibit-startup-screen t) ; Disable startup screen with graphics (setq-default indent-tabs-mode nil) ; Use spaces instead of tabs (setq default-tab-width 2) ; Two spaces is a tab @@ -41,28 +42,36 @@ let (global-set-key "\C-cl" 'org-store-link) (global-set-key "\C-ca" 'org-agenda) (global-set-key "\C-cb" 'org-iswitchb) + (setq org-link-frame-setup '((file . find-file))) ; open link in same frame. (if (boundp 'org-user-agenda-files) (setq org-agenda-files org-user-agenda-files) (setq org-agenda-files (quote ("~/projects/notes"))) ) ''; + theme = '' + (load-theme 'monokai-alt) + ''; recentFiles = '' (recentf-mode 1) (setq recentf-max-menu-items 25) (global-set-key "\C-x\ \C-r" 'recentf-open-files) ''; dotEmacs = pkgs.writeText "dot-emacs" '' + ${evilMode} ${packageRepos} ${orgMode} ${recentFiles} + ${theme} ${windowCosmetics} ''; emacsWithCustomPackages = (pkgs.emacsPackagesNgGen pkgs.emacs).emacsWithPackages (epkgs: [ + epkgs.melpaPackages.evil epkgs.melpaStablePackages.magit epkgs.melpaPackages.mmm-mode epkgs.melpaPackages.nix-mode epkgs.melpaPackages.go-mode epkgs.melpaPackages.google-this + epkgs.melpaPackages.monokai-alt-theme ]); myEmacs = pkgs.writeDashBin "my-emacs" '' exec ${emacsWithCustomPackages}/bin/emacs -q -l ${dotEmacs} "$@" diff --git a/jeschli/2configs/officevpn.nix b/jeschli/2configs/officevpn.nix new file mode 100644 index 00000000..eb0477d5 --- /dev/null +++ b/jeschli/2configs/officevpn.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: + +{ + nixpkgs.config.packageOverrides = pkgs: { + openvpn = pkgs.openvpn.override { pkcs11Support = true; useSystemd = false;}; + }; + + environment.systemPackages = with pkgs; [ + opensc + openvpn + yubikey-manager + ]; + + services.pcscd.enable = true; + + # To start the vpn manually execute + # $ openvpn --config clien.ovpn +} + diff --git a/jeschli/2configs/urxvt.nix b/jeschli/2configs/urxvt.nix index 01491874..4049a47a 100644 --- a/jeschli/2configs/urxvt.nix +++ b/jeschli/2configs/urxvt.nix @@ -29,11 +29,11 @@ with import <stockholm/lib>; *color13: rgb:fc/54/fc *color14: rgb:54/fc/fc *color15: rgb:fc/fc/fc - + URxvt*scrollBar: false URxvt*urgentOnBell: true URxvt*font: xft:DejaVu Sans Mono:pixelsize=${toString config.jeschliFontSize} URXvt*faceSize: ${toString config.jeschliFontSize} ''; - }; + }; } diff --git a/jeschli/2configs/xserver/Xresources.nix b/jeschli/2configs/xserver/Xresources.nix index e8154912..ebe7159f 100644 --- a/jeschli/2configs/xserver/Xresources.nix +++ b/jeschli/2configs/xserver/Xresources.nix @@ -4,8 +4,7 @@ with import <stockholm/lib>; pkgs.writeText "Xresources" /* xdefaults */ '' Xcursor.theme: aero-large-drop - Xcursor.size: 128 - Xft.dpi: 144 + Xcursor.size: 128 URxvt*cutchars: "\\`\"'&()*,;<=>?@[]^{|}‘’" URxvt*eightBitInput: false @@ -22,7 +21,8 @@ pkgs.writeText "Xresources" /* xdefaults */ '' URxvt*charClass: 33:48,37:48,45-47:48,64:48,38:48,61:48,63:48 URxvt*cutNewline: False URxvt*cutToBeginningOfLine: False - + URxvt*font: xft:Monospace:size=12 + URxvt*font: xft:Monospace:size=12:bold URxvt*color0: #232342 URxvt*color3: #c07000 URxvt*color4: #4040c0 diff --git a/jeschli/5pkgs/simple/xmonad-jeschli/default.nix b/jeschli/5pkgs/simple/xmonad-jeschli/default.nix index 5aa3c2f9..88856021 100644 --- a/jeschli/5pkgs/simple/xmonad-jeschli/default.nix +++ b/jeschli/5pkgs/simple/xmonad-jeschli/default.nix @@ -90,7 +90,7 @@ mainNoArgs = do , startupHook = do setWMName "LG3D" whenJustM (liftIO (lookupEnv "XMONAD_STARTUP_HOOK")) - (\path -> forkFile path [] Nothing) <+> setWMName "LG3D" + (\path -> forkFile path [] Nothing) <+> setWMName "LG3D" , normalBorderColor = "#1c1c1c" , focusedBorderColor = "#f000b0" , handleEventHook = handleShutdownEvent @@ -150,7 +150,7 @@ myKeys conf = Map.fromList $ , ((_S , xK_Print ), gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.shift) ) , ((_C , xK_Print ), toggleWS) , ((_4 , xK_Print ), rhombus horseConfig (liftIO . hPutStrLn stderr) ["Correct", "Horse", "Battery", "Staple", "Stuhl", "Tisch"] ) - + -- %! Rotate through the available layout algorithms , ((_4 , xK_space ), sendMessage NextLayout) , ((_4S , xK_space ), setLayout $ XMonad.layoutHook conf) -- reset layout @@ -222,7 +222,7 @@ myKeys conf = Map.fromList $ pagerConfig :: PagerConfig pagerConfig = def { pc_font = myFont - , pc_cellwidth = 256 + , pc_cellwidth = 256 --, pc_cellheight = 36 -- TODO automatically keep screen aspect --, pc_borderwidth = 1 --, pc_matchcolor = "#f0b000" diff --git a/krebs/1systems/hotdog/config.nix b/krebs/1systems/hotdog/config.nix index 18b751a7..0a848426 100644 --- a/krebs/1systems/hotdog/config.nix +++ b/krebs/1systems/hotdog/config.nix @@ -15,6 +15,7 @@ <stockholm/krebs/2configs/ircd.nix> <stockholm/krebs/2configs/reaktor-retiolum.nix> <stockholm/krebs/2configs/reaktor-krebs.nix> + <stockholm/krebs/2configs/repo-sync.nix> ]; krebs.build.host = config.krebs.hosts.hotdog; diff --git a/krebs/1systems/onebutton/source.nix b/krebs/1systems/onebutton/source.nix index 6842bfaa..91a998de 100644 --- a/krebs/1systems/onebutton/source.nix +++ b/krebs/1systems/onebutton/source.nix @@ -1,11 +1,8 @@ with import <stockholm/lib>; let pkgs = import <nixpkgs> {}; - nixpkgs = pkgs.fetchFromGitHub { - owner = "nixos"; - repo = "nixpkgs-channels"; - rev = "nixos-unstable"; # only binary cache for unstable arm6 - sha256 = "1rqzh475xn43phagrr30lb0fd292c1s8as53irihsnd5wcksnbyd"; + nixpkgs = builtins.fetchTarball { + url = https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz; }; in import <stockholm/krebs/source.nix> { name = "onebutton"; diff --git a/krebs/2configs/news-spam.nix b/krebs/2configs/news-spam.nix index a3f39b40..88b7e107 100644 --- a/krebs/2configs/news-spam.nix +++ b/krebs/2configs/news-spam.nix @@ -7,7 +7,6 @@ [SPAM]aje|http://www.aljazeera.com/Services/Rss/?PostingId=2007731105943979989|#snews [SPAM]allafrica|http://allafrica.com/tools/headlines/rdf/latest/headlines.rdf|#snews [SPAM]antirez|http://antirez.com/rss|#snews - [SPAM]arbor|http://feeds2.feedburner.com/asert/|#snews [SPAM]archlinux|http://www.archlinux.org/feeds/news/|#snews [SPAM]ars|http://feeds.arstechnica.com/arstechnica/index?format=xml|#snews [SPAM]augustl|http://augustl.com/atom.xml|#snews @@ -131,7 +130,6 @@ [SPAM]slashdot|http://rss.slashdot.org/Slashdot/slashdot|#snews [SPAM]slate|http://feeds.slate.com/slate|#snews [SPAM]spiegel_eil|http://www.spiegel.de/schlagzeilen/eilmeldungen/index.rss|#snews - [SPAM]spiegelfechter|http://feeds.feedburner.com/DerSpiegelfechter?format=xml|#snews [SPAM]spiegel_top|http://www.spiegel.de/schlagzeilen/tops/index.rss|#snews [SPAM]standardmedia_ke|http://www.standardmedia.co.ke/rss/headlines.php|#snews [SPAM]stern|http://www.stern.de/feed/standard/all/|#snews @@ -146,7 +144,6 @@ [SPAM]the_insider|http://www.theinsider.org/rss/news/headlines-xml.asp|#snews [SPAM]tigsource|http://www.tigsource.com/feed/|#snews [SPAM]tinc|http://tinc-vpn.org/news/index.rss|#snews - [SPAM]topix_b|http://www.topix.com/rss/wire/de/berlin|#snews [SPAM]torr_bits|http://feeds.feedburner.com/TorrentfreakBits|#snews [SPAM]torrentfreak|http://feeds.feedburner.com/Torrentfreak|#snews [SPAM]torr_news|http://feed.torrentfreak.com/Torrentfreak/|#snews @@ -160,7 +157,6 @@ [SPAM]us_math_society|http://www.ams.org/cgi-bin/content/news_items.cgi?rss=1|#snews [SPAM]vimperator|https://sites.google.com/a/vimperator.org/www/blog/posts.xml|#snews [SPAM]weechat|http://dev.weechat.org/feed/atom|#snews - [SPAM]wp_world|http://feeds.washingtonpost.com/rss/rss_blogpost|#snews [SPAM]xkcd|https://xkcd.com/rss.xml|#snews [SPAM]zdnet|http://www.zdnet.com/news/rss.xml|#snews ''; diff --git a/krebs/2configs/reaktor-retiolum.nix b/krebs/2configs/reaktor-retiolum.nix index b32d39b7..d5f1851e 100644 --- a/krebs/2configs/reaktor-retiolum.nix +++ b/krebs/2configs/reaktor-retiolum.nix @@ -10,6 +10,9 @@ with import <stockholm/lib>; }; plugins = with pkgs.ReaktorPlugins; [ sed-plugin + task-add + task-delete + task-list ] ++ (attrValues (todo "agenda")) ; diff --git a/krebs/2configs/repo-sync.nix b/krebs/2configs/repo-sync.nix index 48da88a8..7c3b2c90 100644 --- a/krebs/2configs/repo-sync.nix +++ b/krebs/2configs/repo-sync.nix @@ -5,76 +5,156 @@ with import <stockholm/lib>; let mirror = "git@${config.networking.hostName}:"; - defineRepo = name: announce: let + defineRepo = { + name, desc, section + }: + let repo = { public = true; name = mkDefault "${name}"; - cgit.desc = mkDefault "mirror for ${name}"; - cgit.section = mkDefault "mirror"; - hooks = mkIf announce (mkDefault { + cgit.desc = desc; + cgit.section = section; + hooks = mkDefault { post-receive = pkgs.git-hooks.irc-announce { nick = config.networking.hostName; verbose = false; channel = "#xxx"; server = "irc.r"; - branches = [ "master" ]; + branches = [ "newest" ]; }; - }); + }; }; in { - rules = with git; singleton { - user = with config.krebs.users; [ - config.krebs.users."${config.networking.hostName}-repo-sync" - ]; - repo = [ repo ]; - perm = push ''refs/*'' [ non-fast-forward create delete merge ]; - }; + rules = with git; [ + { + user = with config.krebs.users; [ + config.krebs.users."${config.networking.hostName}-repo-sync" + jeschli + lass + makefu + tv + ]; + repo = [ repo ]; + perm = push ''refs/*'' [ non-fast-forward create delete merge ]; + } + { + user = attrValues config.krebs.users; + repo = [ repo ]; + perm = fetch; + } + ]; repos."${name}" = repo; }; - sync-retiolum = name: + sync-retiolum = { + name, + desc ? "mirror for ${name}", + section ? "mirror" + }: { krebs.repo-sync.repos.${name} = { branches = { - makefu = { - origin.url = "http://cgit.gum/${name}"; + lassulus = { + origin.url = "http://cgit.lassul.us/${name}"; mirror.url = "${mirror}${name}"; }; - tv = { - origin.url = "http://cgit.ni.r/${name}"; + makefu = { + origin.url = "http://cgit.gum/${name}"; mirror.url = "${mirror}${name}"; }; nin = { origin.url = "http://cgit.onondaga.r/${name}"; mirror.url = "${mirror}${name}"; }; - lassulus = { - origin.url = "http://cgit.lassul.us/${name}"; + tv = { + origin.url = "http://cgit.ni.r/${name}"; mirror.url = "${mirror}${name}"; }; }; latest = { url = "${mirror}${name}"; - ref = "heads/master"; + ref = "heads/newest"; }; }; - krebs.git = defineRepo name false; + krebs.git = defineRepo { inherit name desc section; }; + }; + + sync-remote = { + name, + url, + desc ? "mirror for ${name}", + section ? "mirror" + }: + { + krebs.repo-sync.repos.${name} = { + branches = { + remote = { + origin.url = url; + mirror.url = "${mirror}${name}"; + }; + }; + }; + krebs.git = defineRepo { inherit name desc section; }; }; in { - k |