WIP
This commit is contained in:
parent
c18bcabd31
commit
9f1ec78d04
|
@ -7,14 +7,20 @@
|
|||
file
|
||||
wget
|
||||
curl
|
||||
(pkgs.neovim.override {vimAlias = true;})
|
||||
(pkgs.neovim.override {
|
||||
vimAlias = true;
|
||||
withPython3 = true;
|
||||
})
|
||||
gnupg
|
||||
mutt
|
||||
];
|
||||
|
||||
extra = pkgs: with pkgs; [
|
||||
git-crypt
|
||||
htop
|
||||
tree
|
||||
rxvt_unicode.terminfo
|
||||
st.terminfo
|
||||
st
|
||||
|
||||
socat
|
||||
nmap
|
||||
|
@ -29,5 +35,9 @@
|
|||
|
||||
pythonPackages.qrcode
|
||||
ranger
|
||||
|
||||
pass
|
||||
sshuttle
|
||||
mtr
|
||||
];
|
||||
}
|
BIN
common/secret/default.nix
Normal file
BIN
common/secret/default.nix
Normal file
Binary file not shown.
|
@ -1,116 +1,124 @@
|
|||
{ pkgs, config, ... }:
|
||||
{
|
||||
imports = [
|
||||
./zsh
|
||||
./modules/taskwarrior.nix
|
||||
./modules/force-copies.nix
|
||||
./modules/battery.nix
|
||||
./modules/laptop.nix
|
||||
./modules/accounting.nix
|
||||
./modules/rustdev.nix
|
||||
./modules/latex.nix
|
||||
./modules/sleep-nag.nix
|
||||
./modules/graphical
|
||||
./modules/home-options.nix
|
||||
let
|
||||
me = config.m-0.private.me;
|
||||
meWork = config.m-0.private.meWork;
|
||||
in {
|
||||
|
||||
imports = [
|
||||
./zsh
|
||||
./modules/taskwarrior.nix
|
||||
./modules/force-copies.nix
|
||||
./modules/battery.nix
|
||||
./modules/laptop.nix
|
||||
./modules/accounting.nix
|
||||
./modules/rustdev.nix
|
||||
./modules/latex.nix
|
||||
./modules/sleep-nag.nix
|
||||
./modules/graphical
|
||||
./modules/home-options.nix
|
||||
./modules/eventd.nix
|
||||
../common/private-options.nix
|
||||
../common/secret
|
||||
# ./sort-mail.nix
|
||||
# ./morgenreport.nix
|
||||
# ./my-systems.nix
|
||||
];
|
||||
];
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
||||
tasktree = callPackage ./packages/tasktree {};
|
||||
rust-scripts = callPackage ./packages/rust-scripts {};
|
||||
jali = with pkgs; callPackage ./packages/jali {};
|
||||
eventd = (import <unstable> {}).callPackage ./packages/eventd {};
|
||||
st = (import packages/st) pkgs config.common.colors;
|
||||
neovim = (import ./nvim) pkgs config.m-0.rustdev.enable;
|
||||
nixpkgs.config.packageOverrides = pkgs: with pkgs; {
|
||||
tasktree = callPackage ./packages/tasktree {};
|
||||
rust-scripts = callPackage ./packages/rust-scripts {};
|
||||
jali = with pkgs; callPackage ./packages/jali {};
|
||||
eventd = (import <unstable> {}).callPackage ./packages/eventd {};
|
||||
st = (import packages/st) pkgs config.m-0.colors;
|
||||
neovim = (import ./nvim) pkgs config.m-0.rustdev.enable;
|
||||
};
|
||||
|
||||
|
||||
home.file.".tmux.conf".text = ''
|
||||
set -g default-terminal "st-256color"
|
||||
set -ga terminal-overrides ",st-256color:Tc"
|
||||
set -g history-limit 50000
|
||||
set -g status off
|
||||
set -g escape-time 1
|
||||
'';
|
||||
|
||||
programs = {
|
||||
home-manager = {
|
||||
enable = true;
|
||||
path = https://github.com/rycee/home-manager/archive/master.tar.gz;
|
||||
};
|
||||
|
||||
|
||||
home.file.".tmux.conf".text = ''
|
||||
set -g default-terminal "st-256color"
|
||||
set -ga terminal-overrides ",st-256color:Tc"
|
||||
set -g history-limit 50000
|
||||
set -g status off
|
||||
set -g escape-time 1
|
||||
'';
|
||||
|
||||
programs = {
|
||||
home-manager = {
|
||||
enable = true;
|
||||
path = https://github.com/rycee/home-manager/archive/master.tar.gz;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
ignores = [
|
||||
".syncthing*.tmp"
|
||||
"*.swp"
|
||||
"*.autosave~"
|
||||
"*.aux"
|
||||
"*.bbl"
|
||||
"*.fls"
|
||||
"*.idx"
|
||||
"*.ilg"
|
||||
"*.ind"
|
||||
"*.log"
|
||||
"*.out"
|
||||
"*.toc"
|
||||
"*.bcf"
|
||||
"*.blg"
|
||||
"*.fdb*"
|
||||
"*.thm"
|
||||
"*.run.xml"
|
||||
"*.slnc"
|
||||
"*.glade~"
|
||||
"__pycache__"
|
||||
".hledger-web_client_session_key.aes"
|
||||
".nix-gc-roots"
|
||||
git = {
|
||||
enable = true;
|
||||
ignores = [
|
||||
".syncthing*.tmp"
|
||||
"*.swp"
|
||||
"*.autosave~"
|
||||
"*.aux"
|
||||
"*.bbl"
|
||||
"*.fls"
|
||||
"*.idx"
|
||||
"*.ilg"
|
||||
"*.ind"
|
||||
"*.log"
|
||||
"*.out"
|
||||
"*.toc"
|
||||
"*.bcf"
|
||||
"*.blg"
|
||||
"*.fdb*"
|
||||
"*.thm"
|
||||
"*.run.xml"
|
||||
"*.slnc"
|
||||
"*.glade~"
|
||||
"__pycache__"
|
||||
".hledger-web_client_session_key.aes"
|
||||
".nix-gc-roots"
|
||||
];
|
||||
userEmail = me.mail;
|
||||
userName = me.name;
|
||||
};
|
||||
htop = {
|
||||
enable = true;
|
||||
hideThreads = true;
|
||||
hideUserlandThreads = true;
|
||||
highlightBaseName = true;
|
||||
shadowOtherUsers = true;
|
||||
showProgramPath = false;
|
||||
treeView = true;
|
||||
};
|
||||
ssh = {
|
||||
controlMaster = "yes";
|
||||
enable = true;
|
||||
matchBlocks = let
|
||||
matheGwProxy = "ssh -q gw nc -q0 %h %p";
|
||||
kivaHost = "fb04386.mathematik.tu-darmstadt.de";
|
||||
agHost = "fb04217.mathematik.tu-darmstadt.de";
|
||||
in [
|
||||
{ host = "charon"; hostname = "charon.olymp.space"; }
|
||||
{ host = "*.olymp.space"; user = me.user; }
|
||||
{ host = "ag-forward"; hostname = agHost; proxyCommand = matheGwProxy; user = meWork.user; }
|
||||
{ host = "ag"; hostname = agHost; user = meWork.user; }
|
||||
{ host = "kiva-forward"; hostname = kivaHost; proxyCommand = matheGwProxy; user = meWork.user; }
|
||||
{ host = "kiva"; hostname = kivaHost; user = meWork.user; }
|
||||
{ host = "gw"; hostname = "gwres4.mathematik.tu-darmstadt.de"; user = meWork.user; }
|
||||
{ host = "shells"; hostname = "shells.darmstadt.ccc.de"; }
|
||||
{ host = "vorstand"; hostname = "vorstand.darmstadt.ccc.de"; }
|
||||
{ host = "*.darmstadt.ccc.de"; user = me.user; }
|
||||
{ host = "whisky"; hostname = "whisky.w17.io"; user = "chaos"; }
|
||||
{ host = "kitchen"; hostname = "kitchen.w17.io"; user = "chaos"; }
|
||||
{ host = "door.w17.io"; identityFile = "~/.ssh/door_rsa";}
|
||||
];
|
||||
userEmail = "malte.brandy@maralorn.de";
|
||||
userName = "Malte Brandy";
|
||||
};
|
||||
htop = {
|
||||
enable = true;
|
||||
hideThreads = true;
|
||||
hideUserlandThreads = true;
|
||||
highlightBaseName = true;
|
||||
shadowOtherUsers = true;
|
||||
showProgramPath = false;
|
||||
treeView = true;
|
||||
};
|
||||
ssh = {
|
||||
controlMaster = "yes";
|
||||
enable = true;
|
||||
matchBlocks = let
|
||||
matheGwProxy = "ssh -q gw nc -q0 %h %p";
|
||||
kivaHost = "fb04386.mathematik.tu-darmstadt.de";
|
||||
agHost = "fb04217.mathematik.tu-darmstadt.de";
|
||||
in [
|
||||
{ host = "charon"; hostname = "charon.olymp.space"; }
|
||||
{ host = "*.olymp.space"; user = "maralorn"; }
|
||||
{ host = "ag-forward"; hostname = agHost; proxyCommand = matheGwProxy;user="brandy";}
|
||||
{ host = "ag"; hostname = agHost;user="brandy";}
|
||||
{ host = "kiva-forward"; hostname = kivaHost; proxyCommand = matheGwProxy;user="brandy";}
|
||||
{ host = "kiva"; hostname = kivaHost;user="brandy";}
|
||||
{ host = "gw"; hostname = "gwres4.mathematik.tu-darmstadt.de";user="brandy";}
|
||||
{ host = "shells"; hostname = "shells.darmstadt.ccc.de"; }
|
||||
{ host = "vorstand"; hostname = "vorstand.darmstadt.ccc.de"; }
|
||||
{ host = "*.darmstadt.ccc.de"; user = "maralorn"; }
|
||||
{ host = "whisky"; hostname = "whisky.w17.io"; user = "chaos"; }
|
||||
{ host = "door.w17.io"; identityFile = "~/.ssh/door_rsa";}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER="${pkgs.firefox}/bin/firefox";
|
||||
EDITOR="${pkgs.neovim}/bin/nvim";
|
||||
TERMINAL=config.common.terminal;
|
||||
};
|
||||
systemd.user.startServices = true;
|
||||
home.sessionVariables = {
|
||||
BROWSER="${pkgs.firefox}/bin/firefox";
|
||||
EDITOR="${pkgs.neovim}/bin/nvim";
|
||||
TERMINAL=config.m-0.terminal;
|
||||
};
|
||||
systemd.user.startServices = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
neovim
|
||||
];
|
||||
xdg.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
neovim
|
||||
];
|
||||
xdg.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{ lib, pkgs, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
colors = config.common.colors;
|
||||
colors = config.m-0.colors;
|
||||
in {
|
||||
|
||||
options.m-0.eventd.enable = mkEnableOption "Eventd";
|
||||
|
||||
config = mkIf config.m-0.eventd.enable {
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
eventd
|
||||
|
@ -164,4 +169,6 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -4,7 +4,10 @@ with lib;
|
|||
|
||||
options.m-0.graphical.enable = mkEnableOption "Window Manager";
|
||||
|
||||
#imports = if config.m-0.graphical.enable then [ ./i3.nix ] else [];
|
||||
imports = [
|
||||
./i3.nix
|
||||
./rofi
|
||||
];
|
||||
|
||||
config = mkIf config.m-0.graphical.enable {
|
||||
m-0 = {
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
colors = config.m-0.colors;
|
||||
workspaces = config.m-0.workspaces;
|
||||
terminal = config.m-0.terminal;
|
||||
inherit (config.m-0) colors workspaces terminal;
|
||||
exec = "exec --no-startup-id";
|
||||
taskstatus = pkgs.writeShellScriptBin "taskstatus" ''
|
||||
while true;
|
||||
|
@ -24,11 +23,8 @@ let
|
|||
{}
|
||||
(builtins.attrNames oldbindings);
|
||||
in {
|
||||
imports = [
|
||||
./eventd.nix
|
||||
./rofi
|
||||
./urxvt.nix
|
||||
];
|
||||
|
||||
config = mkIf config.m-0.graphical.enable {
|
||||
xsession = {
|
||||
windowManager.i3 = {
|
||||
enable = true;
|
||||
|
@ -109,12 +105,12 @@ in {
|
|||
titlebar = false;
|
||||
border = 1;
|
||||
};
|
||||
# gaps = {
|
||||
# inner = 0;
|
||||
# outer = 0;
|
||||
# smartBorders = "off";
|
||||
# smartGaps = false;
|
||||
# };
|
||||
gaps = {
|
||||
inner = 0;
|
||||
outer = 0;
|
||||
smartBorders = "off";
|
||||
smartGaps = false;
|
||||
};
|
||||
keybindings = {
|
||||
"XF86AudioMute" = "exec pactl set-sink-mute '@DEFAULT_SINK@' toggle";
|
||||
"XF86AudioLowerVolume" = "exec pactl set-sink-volume '@DEFAULT_SINK@' -5%";
|
||||
|
@ -160,4 +156,6 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
workspaces = config.m-0.workspaces;
|
||||
terminal = config.m-0.terminal;
|
||||
colors = config.m-0.colors;
|
||||
rofiTask = pkgs.writeScriptBin "tasklauncher" (builtins.readFile ./tasklauncher.py);
|
||||
inherit (config.m-0) colors workspaces terminal;
|
||||
in {
|
||||
|
||||
config = mkIf config.m-0.graphical.enable {
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
rofi
|
||||
rofiTask
|
||||
(writeScriptBin "tasklauncher" (builtins.readFile ./tasklauncher.py))
|
||||
rofi-pass
|
||||
];
|
||||
};
|
||||
|
@ -67,4 +66,6 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ config = mkIf config.m-0.laptop.enable {
|
|||
gmpc
|
||||
calibre
|
||||
mpv
|
||||
youtubeDL
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ config = mkIf config.m-0.latex.enable {
|
|||
collection-latexextra
|
||||
collection-bibtexextra
|
||||
collection-luatex
|
||||
collection-scimath
|
||||
collection-mathscience
|
||||
collection-fontsextra;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -8,6 +8,11 @@ config = mkIf config.m-0.rustdev.enable {
|
|||
home.packages = with pkgs; [
|
||||
gnome3.glade
|
||||
rustracer
|
||||
cargo
|
||||
gcc
|
||||
binutils-unwrapped
|
||||
rustfmt
|
||||
carnix
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
gnupg
|
||||
pass
|
||||
mutt
|
||||
sshuttle
|
||||
mtr
|
||||
youtubeDL
|
||||
|
||||
cargo
|
||||
gcc
|
||||
binutils-unwrapped
|
||||
rustfmt
|
||||
carnix
|
||||
];
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
# You need pw-files for every configured user in ./secret/pw-useralias for login to work.
|
||||
|
||||
let
|
||||
me = config.m-0.private.me;
|
||||
in {
|
||||
|
||||
imports = [
|
||||
<home-manager/nixos>
|
||||
./secret
|
||||
./hardware-configuration.nix
|
||||
../../system
|
||||
];
|
||||
|
@ -33,7 +33,7 @@ boot = {
|
|||
cdark_net = {
|
||||
enable = true;
|
||||
hostName = "${me.user}_${config.networking.hostName}";
|
||||
ed25519PrivateKeyFile = /etc/nixos/hosts/apollo/secret/tinc/ed25519_key.priv;
|
||||
ed25519PrivateKeyFile = builtins.toPath "/etc/nixos/hosts/${config.networking.hostName}/secret/tinc/ed25519_key.priv";
|
||||
hostsDirectory = /etc/nixos/system/modules/cdarknet/hosts;
|
||||
ip6address = "fd23:42:cda:4342::2";
|
||||
ip4address = "172.20.71.2";
|
||||
|
@ -43,7 +43,7 @@ services = {
|
|||
mpd = {
|
||||
enable = true;
|
||||
network.listenAddress = "::0";
|
||||
musicDirectory = "/home/maralorn/data/aktuell/media/musik";
|
||||
musicDirectory = "/home/${me.user}/data/aktuell/media/musik";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -13,5 +13,6 @@ m-0.accounting.enable = true;
|
|||
m-0.graphical.enable = true;
|
||||
m-0.rustdev.enable = true;
|
||||
m-0.taskwarrior.enable = true;
|
||||
m-0.eventd.enable = true;
|
||||
|
||||
}
|
||||
|
|
1
result
Symbolic link
1
result
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/cwarhn9pblxia1qk1cn7y38kdqxg2x8a-nixos-system-apollo-18.03.132535.2ee48415afc
|
|
@ -4,16 +4,16 @@ let
|
|||
in {
|
||||
users.users = {
|
||||
"${me.user}" = {
|
||||
description = "${me.name}";
|
||||
description = me.name;
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
extraGroups = [ "wheel" "systemd-journal" "networkmanager" "docker" ];
|
||||
openssh.authorizedKeys.keys = me.keys;
|
||||
passwordFile = "${me.pw-file}";
|
||||
passwordFile = me.pw-file;
|
||||
};
|
||||
root = {
|
||||
openssh.authorizedKeys.keys = me.keys;
|
||||
passwordFile = "${me.pw-file}";
|
||||
passwordFile = me.pw-file;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
# channel = 18.03
|
||||
|
||||
imports = [
|
||||
./secret
|
||||
./modules/private-options.nix
|
||||
<home-manager/nixos>
|
||||
../common/secret
|
||||
../common/private-options.nix
|
||||
./modules/laptop.nix
|
||||
./admin.nix
|
||||
# ./syncthing.nix
|
||||
./syncthing.nix
|
||||
./modules/cdarknet
|
||||
];
|
||||
|
||||
|
@ -39,7 +40,7 @@
|
|||
|
||||
environment = {
|
||||
# Put these into an extra file so the essential packages can also be included on non selfadminstrated systems from home-manager
|
||||
systemPackages = let essentials = import ../system/essentials.nix;
|
||||
systemPackages = let essentials = import ../common/essentials.nix;
|
||||
in (essentials.core pkgs) ++ (essentials.extra pkgs);
|
||||
sessionVariables = {
|
||||
TERMINFO = "/run/current-system/sw/share/terminfo";
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue