summaryrefslogtreecommitdiffstats
path: root/makefu/2configs
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs')
-rw-r--r--makefu/2configs/bitlbee.nix8
-rw-r--r--makefu/2configs/default.nix11
-rw-r--r--makefu/2configs/deployment/events-publisher/default.nix9
-rw-r--r--makefu/2configs/editor/vim.nix33
-rw-r--r--makefu/2configs/editor/vimrc98
-rw-r--r--makefu/2configs/gui/xpra.nix3
-rw-r--r--makefu/2configs/hw/smartcard.nix18
-rw-r--r--makefu/2configs/nginx/rompr.nix76
-rw-r--r--makefu/2configs/pyload.nix10
-rw-r--r--makefu/2configs/share/gum-client.nix23
-rw-r--r--makefu/2configs/share/gum.nix2
-rw-r--r--makefu/2configs/tools/extra-gui.nix1
-rw-r--r--makefu/2configs/tools/mic92.nix9
-rw-r--r--makefu/2configs/vim.nix136
14 files changed, 285 insertions, 152 deletions
diff --git a/makefu/2configs/bitlbee.nix b/makefu/2configs/bitlbee.nix
new file mode 100644
index 000000000..17efa7113
--- /dev/null
+++ b/makefu/2configs/bitlbee.nix
@@ -0,0 +1,8 @@
+{pkgs, ... }:
+# state: /var/lib/bitlbee
+{
+ services.bitlbee = {
+ enable = true;
+ libpurple_plugins = [ pkgs.telegram-purple ];
+ };
+}
diff --git a/makefu/2configs/default.nix b/makefu/2configs/default.nix
index 0a89d2023..6192a92a5 100644
--- a/makefu/2configs/default.nix
+++ b/makefu/2configs/default.nix
@@ -8,13 +8,16 @@ with import <stockholm/lib>;
mapAttrs (_: h: { hashedPassword = h; })
(import <secrets/hashedPasswords.nix>);
}
- ./vim.nix
+ ./editor/vim.nix
./binary-cache/nixos.nix
];
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
programs.command-not-found.enable = false;
+
+ nix.package = pkgs.nixUnstable;
+
nixpkgs.config.allowUnfreePredicate = (pkg: pkgs.lib.hasPrefix "unrar-" pkg.name);
krebs = {
enable = true;
@@ -158,4 +161,10 @@ with import <stockholm/lib>;
"-a task,never"
];
};
+ system.activationScripts.state = optionalString (config.state != []) ''
+ cat << EOF
+ This machine is burdened with state:
+ ${concatMapStringsSep "\n" (d: "* ${d}") config.state}
+ EOF
+ '';
}
diff --git a/makefu/2configs/deployment/events-publisher/default.nix b/makefu/2configs/deployment/events-publisher/default.nix
index c671b1a0b..37d74c282 100644
--- a/makefu/2configs/deployment/events-publisher/default.nix
+++ b/makefu/2configs/deployment/events-publisher/default.nix
@@ -2,12 +2,13 @@
with import <stockholm/lib>;
let
shack-announce = pkgs.callPackage (builtins.fetchTarball {
- url = "https://github.com/makefu/events-publisher/archive/5e7b083c63f25182a02c1fddb3d32cb9534fbc50.tar.gz";
- sha256 = "1zzlhyj8fr6y3a3b6qlyrm474xxxs1ydqjpkd2jva3g1lnzlmvkp";
+ url = "https://github.com/makefu/events-publisher/archive/c5218195e6afdc646cb7682d8f355a7ec2b90716.tar.gz";
+ sha256 = "0xk74q7gah3l5zy3bkvih3k9fr1hclvf71rm3ixcmslhicl7khav";
}) {} ;
home = "/var/lib/shackannounce";
user = "shackannounce";
creds = (toString <secrets>) + "/shack-announce.json";
+ LOL = "DEBUG";
in
{
users.users.${user}= {
@@ -32,14 +33,14 @@ in
if test ! -e announce.state; then
echo "initializing state"
announce-daemon \
- --lol INFO \
+ --lol ${LOL} \
--creds creds.json \
--state announce.state \
--clean --init
fi
echo "Running announce"
announce-daemon \
- --lol INFO \
+ --lol ${LOL} \
--creds creds.json \
--state announce.state
'';
diff --git a/makefu/2configs/editor/vim.nix b/makefu/2configs/editor/vim.nix
new file mode 100644
index 000000000..d14a611b4
--- /dev/null
+++ b/makefu/2configs/editor/vim.nix
@@ -0,0 +1,33 @@
+{ config, pkgs, ... }:
+
+let
+ customPlugins.vim-better-whitespace = pkgs.vimUtils.buildVimPlugin {
+ name = "vim-better-whitespace";
+ src = pkgs.fetchFromGitHub {
+ owner = "ntpeters";
+ repo = "vim-better-whitespace";
+ rev = "984c8da518799a6bfb8214e1acdcfd10f5f1eed7";
+ sha256 = "10l01a8xaivz6n01x6hzfx7gd0igd0wcf9ril0sllqzbq7yx2bbk";
+ };
+ };
+
+in {
+
+ environment.systemPackages = [
+ pkgs.python27Full # required for youcompleteme
+ (pkgs.vim_configurable.customize {
+ name = "vim";
+
+ vimrcConfig.customRC = builtins.readFile ./vimrc;
+ vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins;
+ vimrcConfig.vam.pluginDictionaries = [
+ { names = [ "undotree"
+ # "YouCompleteMe"
+ "vim-better-whitespace" ]; }
+ # vim-nix handles indentation better but does not perform sanity
+ { names = [ "vim-addon-nix" ]; ft_regex = "^nix\$"; }
+ ];
+
+ })
+ ];
+}
diff --git a/makefu/2configs/editor/vimrc b/makefu/2configs/editor/vimrc
new file mode 100644
index 000000000..8cdab55db
--- /dev/null
+++ b/makefu/2configs/editor/vimrc
@@ -0,0 +1,98 @@
+set nocompatible
+syntax on
+set list
+set listchars=tab:▸\
+"set list listchars=tab:>-,trail:.,extends:>
+
+filetype off
+filetype plugin indent on
+
+colorscheme darkblue
+set background=dark
+
+set number
+set relativenumber
+set mouse=a
+set ignorecase
+set incsearch
+set wildignore=*.o,*.obj,*.bak,*.exe,*.os
+set textwidth=79
+set shiftwidth=2
+set expandtab
+set softtabstop=2
+set shiftround
+set smarttab
+set tabstop=2
+set et
+set autoindent
+set backspace=indent,eol,start
+
+
+inoremap <F1> <ESC>
+nnoremap <F1> <ESC>
+vnoremap <F1> <ESC>
+
+nnoremap <F5> :UndotreeToggle<CR>
+set undodir =~/.vim/undo
+set undofile
+"maximum number of changes that can be undone
+set undolevels=1000000
+"maximum number lines to save for undo on a buffer reload
+set undoreload=10000000
+
+nnoremap <F2> :set invpaste paste?<CR>
+set pastetoggle=<F2>
+set showmode
+
+set showmatch
+set matchtime=3
+set hlsearch
+
+autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red
+
+
+" save on focus lost
+au FocusLost * :wa
+
+autocmd BufRead *.json set filetype=json
+au BufNewFile,BufRead *.mustache set syntax=mustache
+
+cnoremap SudoWrite w !sudo tee > /dev/null %
+
+" create Backup/tmp/undo dirs
+set backupdir=~/.vim/backup
+set directory=~/.vim/tmp
+
+function! InitBackupDir()
+ let l:parent = $HOME . '/.vim/'
+ let l:backup = l:parent . 'backup/'
+ let l:tmpdir = l:parent . 'tmp/'
+ let l:undodir= l:parent . 'undo/'
+
+
+ if !isdirectory(l:parent)
+ call mkdir(l:parent)
+ endif
+ if !isdirectory(l:backup)
+ call mkdir(l:backup)
+ endif
+ if !isdirectory(l:tmpdir)
+ call mkdir(l:tmpdir)
+ endif
+ if !isdirectory(l:undodir)
+ call mkdir(l:undodir)
+ endif
+endfunction
+call InitBackupDir()
+
+augroup Binary
+ " edit binaries in xxd-output, xxd is part of vim
+ au!
+ au BufReadPre *.bin let &bin=1
+ au BufReadPost *.bin if &bin | %!xxd
+ au BufReadPost *.bin set ft=xxd | endif
+ au BufWritePre *.bin if &bin | %!xxd -r
+ au BufWritePre *.bin endif
+ au BufWritePost *.bin if &bin | %!xxd
+ au BufWritePost *.bin set nomod | endif
+augroup END
diff --git a/makefu/2configs/gui/xpra.nix b/makefu/2configs/gui/xpra.nix
new file mode 100644
index 000000000..2384acbaa
--- /dev/null
+++ b/makefu/2configs/gui/xpra.nix
@@ -0,0 +1,3 @@
+{
+ services.xserver.displayManager.xpra.enable = true;
+}
diff --git a/makefu/2configs/hw/smartcard.nix b/makefu/2configs/hw/smartcard.nix
new file mode 100644
index 000000000..1e9bca53b
--- /dev/null
+++ b/makefu/2configs/hw/smartcard.nix
@@ -0,0 +1,18 @@
+{ pkgs, ... }:
+{
+ services.pcscd = {
+ enable = true;
+ plugins = with pkgs; [ ifdnfc ccid ];
+
+ };
+ environment.systemPackages = with pkgs; [
+ # need to run ifdnfc-activate before usage
+ ifdnfc
+ # pcsc_scan
+ pcsctools
+ ];
+ boot.blacklistedKernelModules = [
+ "pn533" "pn533_usb"
+ "nfc"
+ ];
+}
diff --git a/makefu/2configs/nginx/rompr.nix b/makefu/2configs/nginx/rompr.nix
new file mode 100644
index 000000000..8c1fbc53b
--- /dev/null
+++ b/makefu/2configs/nginx/rompr.nix
@@ -0,0 +1,76 @@
+{ config, lib, pkgs, ... }:
+
+with import <stockholm/lib>;
+let
+ user = config.services.nginx.user;
+ group = config.services.nginx.group;
+ src = pkgs.fetchFromGitHub {
+ owner = "fatg3erman";
+ repo = "RompR";
+ rev = "1.21";
+ sha256 = "00gk2c610qgpsb6y296h9pz2aaa6gfq4cqhn15l7fdrk3lkvh01q";
+ };
+ fpm-socket = "/var/run/php5-rompr-fpm.sock";
+ mpd-src = "/var/lib/rompr";
+
+in {
+ services.phpfpm = {
+ # phpfpm does not have an enable option
+ poolConfigs = {
+ mpd = ''
+ user = ${user}
+ group = ${group}
+ listen = ${fpm-socket}
+ listen.owner = ${user}
+ listen.group = ${group}
+ pm = dynamic
+ pm.max_children = 5
+ pm.start_servers = 2
+ pm.min_spare_servers = 1
+ pm.max_spare_servers = 3
+ chdir = /
+ php_admin_value[error_log] = 'stderr'
+ php_admin_flag[log_errors] = on
+ catch_workers_output = yes
+ '';
+ };
+ };
+ # TODO: Pre-job
+ # TODO: prefs.var could be templated (serialized php ...) then we would not
+ # need to have a state dir at all
+ system.activationScripts.rompr = ''
+ mkdir -p ${mpd-src}
+ cp -r ${src}/. ${mpd-src}
+ chown -R ${user}:${group} ${mpd-src}
+ chmod 770 ${mpd-src}
+ '';
+ services.nginx = {
+ enable = mkDefault true;
+ virtualHosts = {
+ "localhost" = {
+ root = mpd-src;
+ locations."/".index = "index.php";
+ locations."~ \.php$" = {
+ root = mpd-src;
+ extraConfig = ''
+ client_max_body_size 200M;
+ fastcgi_pass unix:${fpm-socket};
+ include ${pkgs.nginx}/conf/fastcgi_params;
+ include ${pkgs.nginx}/conf/fastcgi.conf;
+ fastcgi_index index.php;
+ try_files $uri =404;
+ '';
+ };
+ };
+ };
+ };
+ services.mysql = {
+ enable = true;
+ package = pkgs.mariadb;
+ ensureDatabases = [ "romprdb" ];
+ ensureUsers = [
+ { ensurePermissions = { "romprdb.*" = "ALL PRIVILEGES"; };
+ name = user; }
+ ];
+ };
+}
diff --git a/makefu/2configs/pyload.nix b/makefu/2configs/pyload.nix
new file mode 100644
index 000000000..3aa5048a4
--- /dev/null
+++ b/makefu/2configs/pyload.nix
@@ -0,0 +1,10 @@
+{pkgs, ... }:
+{
+ nixpkgs.config.unfreeRedistributable = true;
+ users.users.makefu.packages = with pkgs;[
+ pyload
+ spidermonkey
+ tesseract
+ ];
+
+}
diff --git a/makefu/2configs/share/gum-client.nix b/makefu/2configs/share/gum-client.nix
new file mode 100644
index 000000000..be9ab026b
--- /dev/null
+++ b/makefu/2configs/share/gum-client.nix
@@ -0,0 +1,23 @@
+{ config, lib, pkgs, ... }:
+
+let
+ automount_opts =
+ [ "x-systemd.automount"
+ "noauto" "x-systemd.idle-timeout=600"
+ "x-systemd.device-timeout=5s"
+ "x-systemd.mount-timeout=5s"
+ ];
+ host = "nextgum"; #TODO
+in {
+ fileSystems."/media/download" = {
+ device = "//${host}/download";
+ fsType = "cifs";
+ options = automount_opts ++
+ [ "credentials=/var/src/secrets/download.smb"
+ "file_mode=0775"
+ "dir_mode=0775"
+ "uid=9001"
+ ];
+ };
+
+}
diff --git a/makefu/2configs/share/gum.nix b/makefu/2configs/share/gum.nix
index f5942a0f7..cc59ce3cc 100644
--- a/makefu/2configs/share/gum.nix
+++ b/makefu/2configs/share/gum.nix
@@ -10,7 +10,7 @@ in {
# description = "smb guest user";
# home = "/var/empty";
# };
-
+ environment.systemPackages = [ pkgs.samba ];
users.users.download.uid = genid "download";
services.samba = {
enable = true;
diff --git a/makefu/2configs/tools/extra-gui.nix b/makefu/2configs/tools/extra-gui.nix
index ae97edd54..3d26cc574 100644
--- a/makefu/2configs/tools/extra-gui.nix
+++ b/makefu/2configs/tools/extra-gui.nix
@@ -12,7 +12,6 @@
virtmanager
# Dev
saleae-logic
- arduino-user-env
gitAndTools.gitFull
signal-desktop
];
diff --git a/makefu/2configs/tools/mic92.nix b/makefu/2configs/tools/mic92.nix
deleted file mode 100644
index 176e461c7..000000000
--- a/makefu/2configs/tools/mic92.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, ... }:
-{
- nixpkgs.overlays = [
- (import <mic92/nixos/overlays/mypackages>)
- ];
- users.users.makefu.packages = [
- pkgs.nix-review
- ];
-}
diff --git a/makefu/2configs/vim.nix b/makefu/2configs/vim.nix
deleted file mode 100644
index 43d362ed9..000000000
--- a/makefu/2configs/vim.nix
+++ /dev/null
@@ -1,136 +0,0 @@
-{ config, pkgs, ... }:
-
-let
- customPlugins.vim-better-whitespace = pkgs.vimUtils.buildVimPlugin {
- name = "vim-better-whitespace";
- src = pkgs.fetchFromGitHub {
- owner = "ntpeters";
- repo = "vim-better-whitespace";
- rev = "984c8da518799a6bfb8214e1acdcfd10f5f1eed7";
- sha256 = "10l01a8xaivz6n01x6hzfx7gd0igd0wcf9ril0sllqzbq7yx2bbk";
- };
- };
-
-in {
-
- environment.systemPackages = [
- pkgs.python27Full # required for youcompleteme
- (pkgs.vim_configurable.customize {
- name = "vim";
-
- vimrcConfig.customRC = ''
- set nocompatible
- syntax on
- set list
- set listchars=tab:▸\
- "set list listchars=tab:>-,trail:.,extends:>
-
- filetype off
- filetype plugin indent on
-
- colorscheme darkblue
- set background=dark
-
- set number
- set relativenumber
- set mouse=a
- set ignorecase
- set incsearch
- set wildignore=*.o,*.obj,*.bak,*.exe,*.os
- set textwidth=79
- set shiftwidth=2
- set expandtab
- set softtabstop=2
- set shiftround
- set smarttab
- set tabstop=2
- set et
- set autoindent
- set backspace=indent,eol,start
-
-
- inoremap <F1> <ESC>
- nnoremap <F1> <ESC>
- vnoremap <F1> <ESC>
-
- nnoremap <F5> :UndotreeToggle<CR>
- set undodir =~/.vim/undo
- set undofile
- "maximum number of changes that can be undone
- set undolevels=1000000
- "maximum number lines to save for undo on a buffer reload
- set undoreload=10000000
-
- nnoremap <F2> :set invpaste paste?<CR>
- set pastetoggle=<F2>
- set showmode
-
- set showmatch
- set matchtime=3
- set hlsearch
-
- autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red
-
-
- " save on focus lost
- au FocusLost * :wa
-
- autocmd BufRead *.json set filetype=json
- au BufNewFile,BufRead *.mustache set syntax=mustache
-
- cnoremap SudoWrite w !sudo tee > /dev/null %
-
- " create Backup/tmp/undo dirs
- set backupdir=~/.vim/backup
- set directory=~/.vim/tmp
-
- function! InitBackupDir()
- let l:parent = $HOME . '/.vim/'
- let l:backup = l:parent . 'backup/'
- let l:tmpdir = l:parent . 'tmp/'
- let l:undodir= l:parent . 'undo/'
-
-
- if !isdirectory(l:parent)
- call mkdir(l:parent)
- endif
- if !isdirectory(l:backup)
- call mkdir(l:backup)
- endif
- if !isdirectory(l:tmpdir)
- call mkdir(l:tmpdir)
- endif
- if !isdirectory(l:undodir)
- call mkdir(l:undodir)
- endif
- endfunction
- call InitBackupDir()
-
- augroup Binary
- " edit binaries in xxd-output, xxd is part of vim
- au!
- au BufReadPre *.bin let &bin=1
- au BufReadPost *.bin if &bin | %!xxd
- au BufReadPost *.bin set ft=xxd | endif
- au BufWritePre *.bin if &bin | %!xxd -r
- au BufWritePre *.bin endif
- au BufWritePost *.bin if &bin | %!xxd
- au BufWritePost *.bin set nomod | endif
- augroup END
-
-
-
- '';
-
- vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins;
- vimrcConfig.vam.pluginDictionaries = [
- { names = [ "undotree"
- # "YouCompleteMe"
- "vim-better-whitespace" ]; }
- # vim-nix handles indentation better but does not perform sanity
- { names = [ "vim-addon-nix" ]; ft_regex = "^nix\$"; }
- ];
-
- })
- ];
-}