From 9c6c3a99efecadd011052c34257db5fe9d604cb3 Mon Sep 17 00:00:00 2001 From: nin Date: Wed, 3 Jan 2018 19:53:35 +0100 Subject: nin axon: add ableton --- nin/1systems/axon/config.nix | 4 ++++ nin/2configs/ableton.nix | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 nin/2configs/ableton.nix diff --git a/nin/1systems/axon/config.nix b/nin/1systems/axon/config.nix index c5f38c1..483a4f8 100644 --- a/nin/1systems/axon/config.nix +++ b/nin/1systems/axon/config.nix @@ -11,6 +11,7 @@ with lib; #../2configs/copyq.nix + @@ -98,6 +99,9 @@ with lib; enable = true; }; + services.xserver.displayManager.sessionCommands = '' + ${pkgs.xorg.xhost}/bin/xhost + local: + ''; services.xserver.desktopManager.xfce = let xbindConfig = pkgs.writeText "xbindkeysrc" '' diff --git a/nin/2configs/ableton.nix b/nin/2configs/ableton.nix new file mode 100644 index 0000000..343a908 --- /dev/null +++ b/nin/2configs/ableton.nix @@ -0,0 +1,20 @@ +{ config, pkgs, ... }: let + mainUser = config.users.extraUsers.nin; +in { + users.users= { + ableton = { + isNormalUser = true; + extraGroups = [ + "audio" + "video" + ]; + packages = [ + pkgs.wine + pkgs.winetricks + ]; + }; + }; + security.sudo.extraConfig = '' + ${mainUser.name} ALL=(ableton) NOPASSWD: ALL + ''; +} -- cgit v1.2.3 From 49ecfab6ef05eef75cab7998cb923282e6941227 Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 31 Jan 2018 09:25:22 +0100 Subject: j enklave +taskserver --- jeschli/1systems/enklave/config.nix | 10 ++++++++++ jeschli/1systems/enklave/taskserver.nix | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 jeschli/1systems/enklave/taskserver.nix diff --git a/jeschli/1systems/enklave/config.nix b/jeschli/1systems/enklave/config.nix index 76e7186..470566a 100644 --- a/jeschli/1systems/enklave/config.nix +++ b/jeschli/1systems/enklave/config.nix @@ -40,6 +40,16 @@ }; }; } + { + services.taskserver = { + enable = true; + fqdn = "enklave.r"; + listenHost = "::"; + listenPort = 53589; + organisations.lass.users = [ "jeschli" ]; + }; + networking.firewall.allowedTCPPorts = [ 53589 ]; + } ]; krebs.build.host = config.krebs.hosts.enklave; diff --git a/jeschli/1systems/enklave/taskserver.nix b/jeschli/1systems/enklave/taskserver.nix new file mode 100644 index 0000000..23b235d --- /dev/null +++ b/jeschli/1systems/enklave/taskserver.nix @@ -0,0 +1,10 @@ + { + services.taskserver = { + enable = true; + fqdn = "enklave.r"; + listenHost = "::"; + listenPort = 53589; + organisations.lass.users = [ "jeschli" ]; + }; + networking.firewall.allowedTCPPorts = [ 53589 ]; + } -- cgit v1.2.3 From 03e65302b8089581bed0e8ae0050cea67cf59bcd Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 31 Jan 2018 09:38:47 +0100 Subject: j: +zsh --- jeschli/2configs/default.nix | 1 + jeschli/2configs/zsh.nix | 138 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 jeschli/2configs/zsh.nix diff --git a/jeschli/2configs/default.nix b/jeschli/2configs/default.nix index 0ac3708..5aaabe2 100644 --- a/jeschli/2configs/default.nix +++ b/jeschli/2configs/default.nix @@ -4,6 +4,7 @@ with import ; imports = [ ./vim.nix ./retiolum.nix + ./zsh.nix { environment.variables = { diff --git a/jeschli/2configs/zsh.nix b/jeschli/2configs/zsh.nix new file mode 100644 index 0000000..be5b661 --- /dev/null +++ b/jeschli/2configs/zsh.nix @@ -0,0 +1,138 @@ +{ config, lib, pkgs, ... }: +{ + environment.systemPackages = [ pkgs.fzf ]; + programs.zsh = { + enable = true; + shellInit = '' + #disable config wizard + zsh-newuser-install() { :; } + ''; + interactiveShellInit = '' + setopt autocd extendedglob + bindkey -e + + #history magic + bindkey "" up-line-or-local-history + bindkey "" down-line-or-local-history + + up-line-or-local-history() { + zle set-local-history 1 + zle up-line-or-history + zle set-local-history 0 + } + zle -N up-line-or-local-history + down-line-or-local-history() { + zle set-local-history 1 + zle down-line-or-history + zle set-local-history 0 + } + zle -N down-line-or-local-history + + setopt share_history + setopt hist_ignore_dups + # setopt inc_append_history + bindkey '^R' history-incremental-search-backward + + #C-x C-e open line in editor + autoload -z edit-command-line + zle -N edit-command-line + bindkey "^X^E" edit-command-line + + #fzf inclusion + source ${pkgs.fzf}/share/fzf/completion.zsh + source ${pkgs.fzf}/share/fzf/key-bindings.zsh + + #completion magic + autoload -Uz compinit + compinit + zstyle ':completion:*' menu select + + #enable automatic rehashing of $PATH + zstyle ':completion:*' rehash true + + eval $(dircolors -b ${pkgs.fetchFromGitHub { + owner = "trapd00r"; + repo = "LS_COLORS"; + rev = "master"; + sha256="05lh5w3bgj9h8d8lrbbwbzw8788709cnzzkl8yh7m1dawkpf6nlp"; + }}/LS_COLORS) + + #beautiful colors + alias ls='ls --color' + # zstyle ':completion:*:default' list-colors ''${(s.:.)LS_COLORS} + + #emacs bindings + bindkey "[7~" beginning-of-line + bindkey "[8~" end-of-line + bindkey "Oc" emacs-forward-word + bindkey "Od" emacs-backward-word + + #aliases + alias ll='ls -l' + alias la='ls -la' + + #fancy window title magic + ''; + promptInit = '' + # TODO: figure out why we need to set this here + HISTSIZE=900001 + HISTFILESIZE=$HISTSIZE + SAVEHIST=$HISTSIZE + + autoload -U promptinit + promptinit + + p_error='%(?..%F{red}%?%f )' + t_error='%(?..%? )' + + case $UID in + 0) + p_username='%F{red}root%f' + t_username='root' + ;; + 1337) + p_username="" + t_username="" + ;; + *) + p_username='%F{blue}%n%f' + t_username='%n' + ;; + esac + + if test -n "$SSH_CLIENT"; then + p_hostname='@%F{magenta}%M%f ' + t_hostname='@%M ' + else + p_hostname="" + t_hostname="" + fi + + #check if in nix shell + if test -n "$buildInputs"; then + p_nixshell='%F{green}[s]%f ' + t_nixshell='[s] ' + else + p_nixshell="" + t_nixshell="" + fi + + PROMPT="$p_error$p_username$p_hostname$p_nixshell%~ " + TITLE="$t_error$t_username$t_hostname$t_nixshell%~" + case $TERM in + (*xterm* | *rxvt*) + function precmd { + PROMPT_EVALED="$(print -P $TITLE)" + echo -ne "\033]0;$$ $PROMPT_EVALED\007" + } + # This is seen while the shell waits for a command to complete. + function preexec { + PROMPT_EVALED="$(print -P $TITLE)" + echo -ne "\033]0;$$ $PROMPT_EVALED $1\007" + } + ;; + esac + ''; + }; + users.defaultUserShell = "/run/current-system/sw/bin/zsh"; +} -- cgit v1.2.3 From 3af7c7c0a8f86ac9a3e3f52ae63311f8fa9d5af5 Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 31 Jan 2018 11:54:53 +0100 Subject: j bln: +stocki --- jeschli/1systems/bln/config.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jeschli/1systems/bln/config.nix b/jeschli/1systems/bln/config.nix index 9c491c8..c088dce 100644 --- a/jeschli/1systems/bln/config.nix +++ b/jeschli/1systems/bln/config.nix @@ -36,7 +36,15 @@ allowDiscards = true; } ]; - + environment.shellAliases = { + n = "nix-shell"; + gd = "cd /home/markus/go/src/gitlab.dcso.lolcat"; + gh = "cd /home/markus/go/src/github.com"; + stocki = pkgs.writeDash "deploy" '' + cd ~/stockholm + LOGNAME=jeschli exec nix-shell -I stockholm="$PWD" --run 'deploy --system="bln"' + ''; + }; networking.hostName = lib.mkForce "BLN02NB0154"; # Define your hostname. networking.networkmanager.enable = true; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. @@ -55,11 +63,6 @@ # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget nixpkgs.config.allowUnfree = true; - environment.shellAliases = { - n = "nix-shell"; - gd = "cd /home/markus/go/src/gitlab.dcso.lolcat"; - gh = "cd /home/markus/go/src/github.com"; - }; environment.variables = { GOROOT= [ "${pkgs.go.out}/share/go" ]; }; environment.systemPackages = with pkgs; [ # system helper -- cgit v1.2.3 From 123c51d51a87e107c21590d152762879c5610cef Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 31 Jan 2018 11:55:14 +0100 Subject: j bln: +elm --- jeschli/1systems/bln/config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/jeschli/1systems/bln/config.nix b/jeschli/1systems/bln/config.nix index c088dce..14cbb7e 100644 --- a/jeschli/1systems/bln/config.nix +++ b/jeschli/1systems/bln/config.nix @@ -89,6 +89,7 @@ chromium google-chrome # programming languages + elmPackages.elm go gcc ghc -- cgit v1.2.3 From b5935d0ec3bae4f2a26bb38bf8eb4296f1da6aa5 Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 31 Jan 2018 11:56:05 +0100 Subject: j fontsize default 12; bln 20 --- jeschli/1systems/bln/config.nix | 5 ++-- jeschli/2configs/urxvt.nix | 65 ++++++++++++++++++++++------------------- 2 files changed, 38 insertions(+), 32 deletions(-) diff --git a/jeschli/1systems/bln/config.nix b/jeschli/1systems/bln/config.nix index 14cbb7e..6893c65 100644 --- a/jeschli/1systems/bln/config.nix +++ b/jeschli/1systems/bln/config.nix @@ -3,16 +3,17 @@ # and in the NixOS manual (accessible by running ‘nixos-help’). { config, lib, pkgs, ... }: - +# bln config file { imports = [ # Include the results of the hardware scan. + ./hardware-configuration.nix # ./dcso-vpn.nix ]; - + jeschliFontSize = 20; # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.version = 2; diff --git a/jeschli/2configs/urxvt.nix b/jeschli/2configs/urxvt.nix index 69811eb..0149187 100644 --- a/jeschli/2configs/urxvt.nix +++ b/jeschli/2configs/urxvt.nix @@ -1,34 +1,39 @@ { config, pkgs, ... }: with import ; - { - services.urxvtd.enable = true; - krebs.xresources.enable = true; - krebs.xresources.resources.urxvt = '' - *foreground: rgb:a8/a8/a8 - *background: rgb:00/00/00 - *faceName: DejaVu Sans Mono - *faceSize: 12 - *color0: rgb:00/00/00 - *color1: rgb:a8/00/00 - *color2: rgb:00/a8/00 - *color3: rgb:a8/54/00 - *color4: rgb:00/00/a8 - *color5: rgb:a8/00/a8 - *color6: rgb:00/a8/a8 - *color7: rgb:a8/a8/a8 - *color8: rgb:54/54/54 - *color9: rgb:fc/54/54 - *color10: rgb:54/fc/54 - *color11: rgb:fc/fc/54 - *color12: rgb:54/54/fc - *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=12 - URXvt*faceSize: 12 - ''; + options.jeschliFontSize = mkOption { + type = types.int; + default = 12; + }; + config = { + services.urxvtd.enable = true; + krebs.xresources.enable = true; + krebs.xresources.resources.urxvt = '' + *foreground: rgb:a8/a8/a8 + *background: rgb:00/00/00 + *faceName: DejaVu Sans Mono + *faceSize: ${toString config.jeschliFontSize} + *color0: rgb:00/00/00 + *color1: rgb:a8/00/00 + *color2: rgb:00/a8/00 + *color3: rgb:a8/54/00 + *color4: rgb:26/8b/d2 + *color5: rgb:a8/00/a8 + *color6: rgb:00/a8/a8 + *color7: rgb:a8/a8/a8 + *color8: rgb:54/54/54 + *color9: rgb:fc/54/54 + *color10: rgb:54/fc/54 + *color11: rgb:fc/fc/54 + *color12: rgb:54/54/fc + *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} + ''; + }; } -- cgit v1.2.3 From 3d84bb54487f0b958e674545c6f9b7f3965ac835 Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 7 Feb 2018 10:08:36 +0100 Subject: j vim: +trailing White detection; *cosmetics --- jeschli/2configs/vim.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jeschli/2configs/vim.nix b/jeschli/2configs/vim.nix index 7721b1d..02ea95f 100644 --- a/jeschli/2configs/vim.nix +++ b/jeschli/2configs/vim.nix @@ -27,6 +27,9 @@ in { name = "vim"; vimrcConfig.customRC = let colorscheme = ''colorscheme molokai''; + highlightTrailingWhiteSpaces = '' + au Syntax * syn match Garbage containedin=ALL /\s\+$/ + ''; setStatements = '' set autowrite set clipboard=unnamedplus @@ -74,11 +77,12 @@ in { ''; in '' ${colorscheme} + ${highlightTrailingWhiteSpaces} ${remapStatements} ${setStatements} ${settingsForElm} ${settingsForGo} - " I dont know what this line is about + " dont expand tabs in go files and show it with four whitespaces. autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 ''; vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins; -- cgit v1.2.3 From 0f7370e7bb5e85780b2454f0e4815fd1e14b1213 Mon Sep 17 00:00:00 2001 From: jeschli Date: Thu, 8 Feb 2018 11:20:24 +0100 Subject: j bln: +termite --- jeschli/1systems/bln/config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/jeschli/1systems/bln/config.nix b/jeschli/1systems/bln/config.nix index 6893c65..8a3090a 100644 --- a/jeschli/1systems/bln/config.nix +++ b/jeschli/1systems/bln/config.nix @@ -66,6 +66,7 @@ nixpkgs.config.allowUnfree = true; environment.variables = { GOROOT= [ "${pkgs.go.out}/share/go" ]; }; environment.systemPackages = with pkgs; [ + termite # system helper ag copyq -- cgit v1.2.3 From 1b922a012d53643cedc68ee1ce3f8d6b29e99ef6 Mon Sep 17 00:00:00 2001 From: jeschli Date: Fri, 9 Feb 2018 15:11:24 +0100 Subject: j vim.nix: remap tt to GoTest --- jeschli/2configs/vim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/jeschli/2configs/vim.nix b/jeschli/2configs/vim.nix index 02ea95f..c13113f 100644 --- a/jeschli/2configs/vim.nix +++ b/jeschli/2configs/vim.nix @@ -45,6 +45,7 @@ in { remapStatements = '' imap jk map gr :GoRun " Map gr to execute go run + map tt :GoTest " Map tt to execute go test map nf :NERDTreeToggle nnoremap nnoremap :bnext -- cgit v1.2.3 From 67e5dfa8b001c613db1f3aea849b685c1559bd99 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 14 Feb 2018 23:27:37 +0100 Subject: tv gitrepos: drop redundant fetch permissions Everybody already has permission to fetch via HTTP. --- tv/2configs/gitrepos.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index 2c4b486..dc50be4 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -128,11 +128,6 @@ let { repo = [ repo ]; perm = push "refs/*" [ non-fast-forward create delete merge ]; } ++ - optional repo.public { - user = attrValues config.krebs.users; - repo = [ repo ]; - perm = fetch; - } ++ optional (repo.collaborators or [] != []) { user = repo.collaborators; repo = [ repo ]; -- cgit v1.2.3 From 95cf4debc8611f947b73cf96eb3713281f582f4d Mon Sep 17 00:00:00 2001 From: jeschli Date: Sun, 18 Feb 2018 10:41:57 +0100 Subject: brauerei: +backlight --- jeschli/1systems/brauerei/config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jeschli/1systems/brauerei/config.nix b/jeschli/1systems/brauerei/config.nix index e4109c6..eb2bb11 100644 --- a/jeschli/1systems/brauerei/config.nix +++ b/jeschli/1systems/brauerei/config.nix @@ -79,6 +79,8 @@ jetbrains.goland # document viewer zathura + # xorg + xorg.xbacklight ]; # Some programs need SUID wrappers, can be configured further or are -- cgit v1.2.3 From c56b91c86f91f76a74710dc3e6c1e4da7cbe0608 Mon Sep 17 00:00:00 2001 From: nin Date: Tue, 27 Feb 2018 22:31:43 +0100 Subject: nin: follow krebs nixpkgs --- nin/source.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/nin/source.nix b/nin/source.nix index ccf5e6a..ce18793 100644 --- a/nin/source.nix +++ b/nin/source.nix @@ -12,8 +12,5 @@ in nin = "/home/nin/secrets/${name}"; }; stockholm.file = toString ; - nixpkgs.git = { - url = https://github.com/nixos/nixpkgs; - ref = "afe9649"; - }; + nixpkgs = (import host).nixpkgs; } -- cgit v1.2.3 From c878c43476c407310537090f5d6cf2482ead4d3e Mon Sep 17 00:00:00 2001 From: nin Date: Tue, 27 Feb 2018 22:34:32 +0100 Subject: nin git: remove irc announce --- nin/2configs/git.nix | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/nin/2configs/git.nix b/nin/2configs/git.nix index 9ebbaab..aed4a9f 100644 --- a/nin/2configs/git.nix +++ b/nin/2configs/git.nix @@ -36,17 +36,6 @@ let make-public-repo = name: { cgit ? {}, ... }: { inherit cgit name; public = true; - hooks = { - post-receive = pkgs.git-hooks.irc-announce { - # TODO make nick = config.krebs.build.host.name the default - nick = config.krebs.build.host.name; - channel = "#xxx"; - server = "irc.r"; - verbose = config.krebs.build.host.name == "onondaga"; - # TODO define branches in some kind of option per repo - branches = [ "master" ]; - }; - }; }; make-rules = -- cgit v1.2.3 From 23947993b74ae83e4f4042a77b14a67f5a5e52e0 Mon Sep 17 00:00:00 2001 From: nin Date: Tue, 27 Feb 2018 22:39:08 +0100 Subject: nin im: copy irc script from tv --- nin/2configs/im.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 nin/2configs/im.nix diff --git a/nin/2configs/im.nix b/nin/2configs/im.nix new file mode 100644 index 0000000..b078dbd --- /dev/null +++ b/nin/2configs/im.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: +with import ; +{ + environment.systemPackages = with pkgs; [ + (pkgs.writeDashBin "im" '' + export PATH=${makeSearchPath "bin" (with pkgs; [ + tmux + gnugrep + weechat + ])} + ssh chat@onondaga + if tmux list-sessions -F\#S | grep -q '^im''$'; then + exec tmux attach -t im + else + exec tmux new -s im weechat + fi + '') + ]; +} -- cgit v1.2.3 From d2e61ee65bb53e590b2e70fc3f432e540a435eff Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 28 Feb 2018 09:13:13 +0100 Subject: .gitignore: add result --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e1c6ef9..d17552e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /.graveyard /TODO +result -- cgit v1.2.3 From 7da195cd472fa133127ea5a033eacaa4ff40db1b Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 28 Feb 2018 14:30:11 +0100 Subject: types: refactor source --- lib/types.nix | 102 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 45 insertions(+), 57 deletions(-) diff --git a/lib/types.nix b/lib/types.nix index b857949..9ae92ea 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -2,7 +2,7 @@ let inherit (lib) - all any concatMapStringsSep concatStringsSep const filter flip + all any attrNames concatMapStringsSep concatStringsSep const filter flip genid hasSuffix head isInt isString length mergeOneOption mkOption mkOptionType optional optionalAttrs optionals range splitString stringLength substring test testString typeOf; @@ -231,90 +231,78 @@ rec { source = submodule ({ config, ... }: { options = { type = let - types = [ - "file" - "git" - "pass" - "symlink" - ]; + known-types = attrNames source-types; + type-candidates = filter (k: config.${k} != null) known-types; in mkOption { - type = enum types; - default = let - cands = filter (k: config.${k} != null) types; - in - if length cands == 1 - then head cands - else throw "cannot determine type"; - }; - file = let - file-path = (file-source.getSubOptions "FIXME").path.type; - in mkOption { - type = nullOr (either file-source file-path); - default = null; + default = if length type-candidates == 1 + then head type-candidates + else throw "cannot determine type"; + type = enum known-types; + }; + file = mkOption { apply = x: - if file-path.check x + if absolute-pathname.check x then { path = x; } else x; + default = null; + type = nullOr (either absolute-pathname source-types.file); }; git = mkOption { - type = nullOr git-source; default = null; + type = nullOr source-types.git; }; pass = mkOption { - type = nullOr pass-source; default = null; + type = nullOr source-types.pass; }; - symlink = let - symlink-target = (symlink-source.getSubOptions "FIXME").target.type; - in mkOption { - type = nullOr (either symlink-source symlink-target); + symlink = mkOption { + type = nullOr (either pathname source-types.symlink); default = null; apply = x: - if symlink-target.check x + if pathname.check x then { target = x; } else x; }; }; }); - file-source = submodule { - options = { - path = mkOption { - type = absolute-pathname; + source-types = { + file = submodule { + options = { + path = mkOption { + type = absolute-pathname; + }; }; }; - }; - - git-source = submodule { - options = { - ref = mkOption { - type = str; # TODO types.git.ref - }; - url = mkOption { - type = str; # TODO types.git.url + git = submodule { + options = { + ref = mkOption { + type = str; # TODO types.git.ref + }; + url = mkOption { + type = str; # TODO types.git.url + }; }; }; - }; - - pass-source = submodule { - options = { - dir = mkOption { - type = absolute-pathname; - }; - name = mkOption { - type = pathname; # TODO relative-pathname + pass = submodule { + options = { + dir = mkOption { + type = absolute-pathname; + }; + name = mkOption { + type = pathname; # TODO relative-pathname + }; }; }; - }; - - symlink-source = submodule { - options = { - target = mkOption { - type = pathname; # TODO relative-pathname + symlink = submodule { + options = { + target = mkOption { + type = pathname; # TODO relative-pathname + }; }; }; - }; + }; suffixed-str = suffs: mkOptionType { -- cgit v1.2.3 From 6169d848f471ad37eaf675bc5ca33d4742ab4c09 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 28 Feb 2018 14:15:29 +0100 Subject: populate: 2.1.0 -> 2.3.0 --- lib/types.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/types.nix b/lib/types.nix index 9ae92ea..1cf2d96 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -255,6 +255,14 @@ rec { default = null; type = nullOr source-types.pass; }; + pipe = mkOption { + apply = x: + if absolute-pathname.check x + then { command = x; } + else x; + default = null; + type = nullOr (either absolute-pathname source-types.pipe); + }; symlink = mkOption { type = nullOr (either pathname source-types.symlink); default = null; @@ -294,6 +302,13 @@ rec { }; }; }; + pipe = submodule { + options = { + command = mkOption { + type = absolute-pathname; + }; + }; + }; symlink = submodule { options = { target = mkOption { -- cgit v1.2.3 From 7c6325d0fbf6c9080f575d7608eb2e1942b52744 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 28 Feb 2018 14:47:12 +0100 Subject: os-release: use --- jeschli/source.nix | 6 ++++++ mv/source.nix | 6 ++++++ nin/source.nix | 6 ++++++ tv/source.nix | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/jeschli/source.nix b/jeschli/source.nix index 382dd61..fe1de8f 100644 --- a/jeschli/source.nix +++ b/jeschli/source.nix @@ -4,6 +4,11 @@ host@{ name, secure ? false, override ? {} }: let then "buildbot" else "jeschli"; _file = + "/jeschli/1systems/${name}/source.nix"; + pkgs = import { + overlays = map import [ + + ]; + }; in evalSource (toString _file) [ { @@ -17,6 +22,7 @@ in jeschli = "${getEnv "HOME"}/secrets/${name}"; }; stockholm.file = toString ; + stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version"; } override ] diff --git a/mv/source.nix b/mv/source.nix index 5f6b2fe..1a7b839 100644 --- a/mv/source.nix +++ b/mv/source.nix @@ -4,6 +4,11 @@ host@{ name, override ? {} }: let then "buildbot" else "mv"; _file = + "/mv/1systems/${name}/source.nix"; + pkgs = import { + overlays = map import [ + + ]; + }; in evalSource (toString _file) [ { @@ -18,6 +23,7 @@ in mv = "/home/mv/secrets/${name}"; }; stockholm.file = toString ; + stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version"; } override ] diff --git a/nin/source.nix b/nin/source.nix index ccf5e6a..5f3bbcb 100644 --- a/nin/source.nix +++ b/nin/source.nix @@ -4,6 +4,11 @@ host@{ name, secure ? false }: let then "buildbot" else "nin"; _file = + "/nin/1systems/${name}/source.nix"; + pkgs = import { + overlays = map import [ + + ]; + }; in evalSource (toString _file) { nixos-config.symlink = "stockholm/nin/1systems/${name}/config.nix"; @@ -12,6 +17,7 @@ in nin = "/home/nin/secrets/${name}"; }; stockholm.file = toString ; + stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version"; nixpkgs.git = { url = https://github.com/nixos/nixpkgs; ref = "afe9649"; diff --git a/tv/source.nix b/tv/source.nix index b5e3f7c..e5e5e04 100644 --- a/tv/source.nix +++ b/tv/source.nix @@ -6,6 +6,11 @@ with import ; }@host: let builder = if dummy_secrets then "buildbot" else "tv"; _file = + "/tv/1systems/${name}/source.nix"; + pkgs = import { + overlays = map import [ + + ]; + }; in evalSource (toString _file) [ { @@ -20,6 +25,7 @@ in tv = "/home/tv/secrets/${name}"; }; stockholm.file = toString ; + stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version"; } (mkIf (builder == "tv") { secrets-common.file = "/home/tv/secrets/common"; -- cgit v1.2.3 From 24ca7740a5f177fe31890093dcf7e84de644c810 Mon Sep 17 00:00:00 2001 From: jeschli Date: Wed, 28 Feb 2018 19:54:11 +0000 Subject: j vim: unsure changes --- jeschli/2configs/vim.nix | 118 +++++++++++++++++++++++++---------------------- 1 file changed, 62 insertions(+), 56 deletions(-) diff --git a/jeschli/2configs/vim.nix b/jeschli/2configs/vim.nix index 1a2231a..ddf0f91 100644 --- a/jeschli/2configs/vim.nix +++ b/jeschli/2configs/vim.nix @@ -16,72 +16,78 @@ let owner = "mxw"; repo = "vim-jsx"; rev = "5b968dfa512c57c38ad7fe420f3e8ab75a73949a"; - sha256 = "1z3yhhbmbzfw68qjzyvpbmlyv2a1p814sy5q2knn04kcl30vx94a"; + sha256 = "1z3yhhbmbzfw68qjzyvpbmlyv2a1p814sy5q2knn04kcl30vx94a"; }; }; in { -# { environment.systemPackages = [ (pkgs.vim_configurable.customize { name = "vim"; - - vimrcConfig.customRC = '' - set nocompatible - - :imap jk - :vmap v v - :map gr :GoRun - :nnoremap :bnext - :nnoremap - :map nf :NERDTreeToggle - set autowrite - set number - set ruler - set path+=** - set wildmenu - - noremap x "_x - set clipboard=unnamedplus - - let g:jsx_ext_required = 0 - - let g:go_list_type = "quickfix" - let g:go_test_timeout = '10s' - let g:go_fmt_command = "goimports" - let g:go_snippet_case_type = "camelcase" - let g:go_highlight_types = 1 - let g:go_highlight_fields = 1 - let g:go_highlight_functions = 1 - let g:go_highlight_methods = 1 - let g:go_highlight_extra_types = 1 - autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 - let g:rehash256 = 1 - let g:molokai_original = 1 - colorscheme molokai - let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck'] - let g:go_metalinter_autosave = 1 - " let g:go_metalinter_autosave_enabled = ['vet', 'golint'] - " let g:go_def_mode = 'godef' - " let g:go_decls_includes = "func,type" - - - " Trigger configuration. Do not use if you use https://github.com/Valloric/YouCompleteMe. - let g:UltiSnipsExpandTrigger="" - let g:UltiSnipsJumpForwardTrigger="" - let g:UltiSnipsJumpBackwardTrigger="" - - " If you want :UltiSnipsEdit to split your window. - let g:UltiSnipsEditSplit="vertical" - - if has('persistent_undo') "check if your vim version supports it - set undofile "turn on the feature - set undodir=$HOME/.vim/undo "directory where the undo files will be stored - endif + vimrcConfig.customRC = let + colorscheme = ''colorscheme molokai''; + setStatements = '' + set autowrite + set clipboard=unnamedplus + set nocompatible + set path+=** + set ruler + set undodir=$HOME/.vim/undo "directory where the undo files will be stored + set undofile "turn on the feature + set wildignore+=*.o,*.class,*.hi,*.dyn_hi,*.dyn_o + set wildmenu + set listchars=trail:¶ + ''; + remapStatements = '' + imap jk + map gr :GoRun " Map gr to execute go run + map nf :NERDTreeToggle + nnoremap + nnoremap :bnext + noremap x "_x + vmap v v + ''; + settingsForGo = '' + let g:go_decls_includes = "func,type" + let g:go_def_mode = 'godef' + let g:go_fmt_command = "goimports" + let g:go_highlight_extra_types = 1 + let g:go_highlight_fields = 1 + let g:go_highlight_functions = 1 + let g:go_highlight_methods = 1 + let g:go_highlight_types = 1 + let g:go_list_type = "quickfix" + let g:go_metalinter_autosave = 1 + let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck'] + let g:syntastic_go_checkers = ['go', 'golint', 'errcheck'] + let g:go_snippet_case_type = "camelcase" + let g:go_test_timeout = '10s' + let g:jsx_ext_required = 0 + let g:molokai_original = 1 + let g:rehash256 = 1 + ''; + settingsForElm = '' + let g:polyglot_disabled = ['elm'] + let g:elm_detailed_complete = 1 + let g:elm_format_autosave = 1 + let g:elm_syntastic_show_warnings = 1 ''; vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins; vimrcConfig.vam.pluginDictionaries = [ - { names = [ "undotree" "molokai" "Syntastic" "ctrlp" "surround" "snipmate" "nerdtree" "easymotion"]; } + { + names = [ + "ctrlp" + "easymotion" + "molokai" + "nerdtree" + "snipmate" + "surround" + "Syntastic" + "undotree" + "elm-vim" + "youcompleteme" + ]; + } { names = [ "vim-addon-nix" ]; ft_regex = "^nix\$"; } { names = [ "vim-go" ]; ft_regex = "^go\$"; } # wanted: nsf/gocode { names = [ "vim-javascript" ]; ft_regex = "^js\$"; } -- cgit v1.2.3 From d450e63fd61a31e3b34da38f48260e1bfbb013cc Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 28 Feb 2018 22:38:42 +0100 Subject: tv gitrepos: add kops --- tv/2configs/gitrepos.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tv/2configs/gitrepos.nix b/tv/2configs/gitrepos.nix index dc50be4..c3418e7 100644 --- a/tv/2configs/gitrepos.nix +++ b/tv/2configs/gitrepos.nix @@ -42,6 +42,9 @@ let { kirk = { cgit.desc = "IRC tools"; }; + kops = { + cgit.desc = "deployment tools"; + }; load-env = {}; loldns = { cgit.desc = "toy DNS server"; -- cgit v1.2.3