task | reformatted with nixfmt
This commit is contained in:
parent
e3fea64660
commit
c3a0a0847f
119 changed files with 1010 additions and 2135 deletions
260
flake.nix
260
flake.nix
|
|
@ -14,165 +14,117 @@
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs@{ self, nixpkgs, nix,
|
||||||
self,
|
|
||||||
nixpkgs,
|
|
||||||
nix,
|
|
||||||
# nixos-cosmic,
|
# nixos-cosmic,
|
||||||
nixos-hardware,
|
nixos-hardware, home-manager, catppuccin, colmena, ... }:
|
||||||
home-manager,
|
let
|
||||||
catppuccin,
|
inherit (self) outputs;
|
||||||
colmena,
|
lib = nixpkgs.lib // home-manager.lib;
|
||||||
...
|
systems = [ "x86_64-linux" "aarch64-linux" ];
|
||||||
}: let
|
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
|
||||||
inherit (self) outputs;
|
pkgsFor = lib.genAttrs systems (system:
|
||||||
lib = nixpkgs.lib // home-manager.lib;
|
|
||||||
systems = [
|
|
||||||
"x86_64-linux"
|
|
||||||
"aarch64-linux"
|
|
||||||
];
|
|
||||||
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
|
|
||||||
pkgsFor = lib.genAttrs systems (
|
|
||||||
system:
|
|
||||||
import nixpkgs {
|
import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
}
|
});
|
||||||
);
|
in {
|
||||||
in {
|
inherit lib;
|
||||||
inherit lib;
|
colmena = {
|
||||||
colmena = {
|
meta = {
|
||||||
meta = {
|
nixpkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
nixpkgs = import nixpkgs {
|
specialArgs = { inherit inputs outputs; };
|
||||||
system = "x86_64-linux";
|
|
||||||
};
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
};
|
||||||
|
# ace = import ./hosts/ace/colmena.nix;
|
||||||
|
# eve = import ./hosts/eve/colmena.nix;
|
||||||
|
fred = import ./hosts/fred/colmena.nix;
|
||||||
|
loki = import ./hosts/loki/colmena.nix;
|
||||||
|
# pocket2 = import ./hosts/pocket2/colmena.nix;
|
||||||
|
smaug = import ./hosts/smaug/colmena.nix;
|
||||||
|
w1 = import ./hosts/w1/colmena.nix;
|
||||||
|
# w2 = import ./hosts/w2/colmena.nix;
|
||||||
|
# t2 = import ./hosts/t2/colmena.nix;
|
||||||
|
# pi1 = import ./hosts/pi1/colmena.nix;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosConfigurations = {
|
||||||
|
# clients
|
||||||
|
ace = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/ace ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
dragon = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/dragon ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
eve = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/eve ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
loki = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/loki ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
|
||||||
|
pocket2 = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/pocket2 ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
smaug = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/smaug ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
t2 = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/t2 ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
|
||||||
|
# servers
|
||||||
|
display = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/display ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
fred = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/fred ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
vm = lib.nixosSystem {
|
||||||
|
modules = [
|
||||||
|
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix"
|
||||||
|
"${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
|
||||||
|
./hosts/vm
|
||||||
|
];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
harper2 = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/harper2 ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
harper = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/harper ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
nuwww = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/nuwww ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
pihole = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/pihole ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
www2 = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/www2 ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
w1 = lib.nixosSystem {
|
||||||
|
modules = [ ./hosts/w1 ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
|
# w2 = lib.nixosSystem {
|
||||||
|
# modules = [./hosts/w2];
|
||||||
|
# specialArgs = {
|
||||||
|
# inherit inputs outputs;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
# ace = import ./hosts/ace/colmena.nix;
|
|
||||||
# eve = import ./hosts/eve/colmena.nix;
|
|
||||||
fred = import ./hosts/fred/colmena.nix;
|
|
||||||
loki = import ./hosts/loki/colmena.nix;
|
|
||||||
# pocket2 = import ./hosts/pocket2/colmena.nix;
|
|
||||||
smaug = import ./hosts/smaug/colmena.nix;
|
|
||||||
w1 = import ./hosts/w1/colmena.nix;
|
|
||||||
# w2 = import ./hosts/w2/colmena.nix;
|
|
||||||
# t2 = import ./hosts/t2/colmena.nix;
|
|
||||||
# pi1 = import ./hosts/pi1/colmena.nix;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations = {
|
|
||||||
# clients
|
|
||||||
ace = lib.nixosSystem {
|
|
||||||
modules = [./hosts/ace];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
dragon = lib.nixosSystem {
|
|
||||||
modules = [./hosts/dragon];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
eve = lib.nixosSystem {
|
|
||||||
modules = [./hosts/eve];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
loki = lib.nixosSystem {
|
|
||||||
modules = [./hosts/loki];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pocket2 = lib.nixosSystem {
|
|
||||||
modules = [./hosts/pocket2];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
smaug = lib.nixosSystem {
|
|
||||||
modules = [./hosts/smaug];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
t2 = lib.nixosSystem {
|
|
||||||
modules = [./hosts/t2];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# servers
|
|
||||||
display = lib.nixosSystem {
|
|
||||||
modules = [./hosts/display];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
fred = lib.nixosSystem {
|
|
||||||
modules = [./hosts/fred];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
vm = lib.nixosSystem {
|
|
||||||
modules = [
|
|
||||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix"
|
|
||||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
|
|
||||||
./hosts/vm
|
|
||||||
];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
harper2 = lib.nixosSystem {
|
|
||||||
modules = [./hosts/harper2];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
harper = lib.nixosSystem {
|
|
||||||
modules = [./hosts/harper];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nuwww = lib.nixosSystem {
|
|
||||||
modules = [./hosts/nuwww];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
pihole = lib.nixosSystem {
|
|
||||||
modules = [./hosts/pihole];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
www2 = lib.nixosSystem {
|
|
||||||
modules = [./hosts/www2];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
w1 = lib.nixosSystem {
|
|
||||||
modules = [./hosts/w1];
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# w2 = lib.nixosSystem {
|
|
||||||
# modules = [./hosts/w2];
|
|
||||||
# specialArgs = {
|
|
||||||
# inherit inputs outputs;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
imports = [ ./bash_complition.nix ];
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [./bash_complition.nix];
|
|
||||||
home.file.".bash_local".source = files/bash/bash_local;
|
home.file.".bash_local".source = files/bash/bash_local;
|
||||||
home.file.".bash_aliases".source = files/bash/bash_aliases;
|
home.file.".bash_aliases".source = files/bash/bash_aliases;
|
||||||
home.file.".bash_functions".source = files/bash/bash_functions;
|
home.file.".bash_functions".source = files/bash/bash_functions;
|
||||||
|
|
@ -11,7 +7,8 @@
|
||||||
home.file.".bash_keychain".source = files/bash/bash_keychain;
|
home.file.".bash_keychain".source = files/bash/bash_keychain;
|
||||||
home.file.".bash_logout".source = files/bash/bash_logout;
|
home.file.".bash_logout".source = files/bash/bash_logout;
|
||||||
home.file.".bash_motd".source = files/bash/bash_motd;
|
home.file.".bash_motd".source = files/bash/bash_motd;
|
||||||
home.file.".bash_motd_ownscript.sh".source = files/bash/bash_motd_ownscript.sh;
|
home.file.".bash_motd_ownscript.sh".source =
|
||||||
|
files/bash/bash_motd_ownscript.sh;
|
||||||
home.file.".bash_profile".source = files/bash/bash_profile;
|
home.file.".bash_profile".source = files/bash/bash_profile;
|
||||||
home.file.".bashrc".source = files/bash/bashrc;
|
home.file.".bashrc".source = files/bash/bashrc;
|
||||||
home.file.".bash_ssh".source = files/bash/bash_ssh;
|
home.file.".bash_ssh".source = files/bash/bash_ssh;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
home.file = {
|
home.file = {
|
||||||
doascomplete = {
|
doascomplete = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -10,36 +10,36 @@
|
||||||
_init_completion -s || return
|
_init_completion -s || return
|
||||||
|
|
||||||
local i mode=normal
|
local i mode=normal
|
||||||
[[ ''$1 == *doasedit ]] && mode=edit
|
[[ $1 == *doasedit ]] && mode=edit
|
||||||
|
|
||||||
[[ ''$mode == normal ]] &&
|
[[ $mode == normal ]] &&
|
||||||
for ((i = 1; i <= cword; i++)); do
|
for ((i = 1; i <= cword; i++)); do
|
||||||
if [[ ''${words[i]} != -* ]]; then
|
if [[ ''${words[i]} != -* ]]; then
|
||||||
local PATH=''$PATH:/sbin:/usr/sbin:/usr/local/sbin
|
local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin
|
||||||
local root_command=''${words[i]}
|
local root_command=''${words[i]}
|
||||||
_command_offset ''$i
|
_command_offset $i
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
[[ ''${words[i]} == -@(!(-*)[uUgCp]) ]] &&
|
[[ ''${words[i]} == -@(!(-*)[uUgCp]) ]] &&
|
||||||
((i++))
|
((i++))
|
||||||
done
|
done
|
||||||
|
|
||||||
case "''$prev" in
|
case "$prev" in
|
||||||
-u)
|
-u)
|
||||||
COMPREPLY=(''$(compgen -u -- "''$cur"))
|
COMPREPLY=($(compgen -u -- "$cur"))
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
''$split && return
|
$split && return
|
||||||
|
|
||||||
if [[ ''$cur == -* ]]; then
|
if [[ $cur == -* ]]; then
|
||||||
local opts=''$(_parse_help "''$1")
|
local opts=$(_parse_help "$1")
|
||||||
COMPREPLY=(''$(compgen -W ' ''${opts:-''$(_parse_usage "''$1")}' -- "''$cur"))
|
COMPREPLY=($(compgen -W ' ''${opts:-$(_parse_usage "$1")}' -- "$cur"))
|
||||||
[[ ''${COMPREPLY-} == *= ]] && compopt -o nospace
|
[[ ''${COMPREPLY-} == *= ]] && compopt -o nospace
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
if [[ ''$mode == edit ]]; then
|
if [[ $mode == edit ]]; then
|
||||||
_filedir
|
_filedir
|
||||||
fi
|
fi
|
||||||
} &&
|
} &&
|
||||||
|
|
@ -105,26 +105,26 @@
|
||||||
taskcommand='task rc.verbose:nothing rc.confirmation:no rc.hooks:off'
|
taskcommand='task rc.verbose:nothing rc.confirmation:no rc.hooks:off'
|
||||||
|
|
||||||
_task_get_tags() {
|
_task_get_tags() {
|
||||||
''$taskcommand _tags
|
$taskcommand _tags
|
||||||
}
|
}
|
||||||
|
|
||||||
_task_get_config() {
|
_task_get_config() {
|
||||||
''$taskcommand _config
|
$taskcommand _config
|
||||||
}
|
}
|
||||||
|
|
||||||
_task_offer_priorities() {
|
_task_offer_priorities() {
|
||||||
COMPREPLY=( ''$(compgen -W "L M H" -- ''${cur/*:/}) )
|
COMPREPLY=( $(compgen -W "L M H" -- ''${cur/*:/}) )
|
||||||
}
|
}
|
||||||
|
|
||||||
_task_offer_projects() {
|
_task_offer_projects() {
|
||||||
COMPREPLY=( ''$(compgen -W "''$(''$taskcommand _projects)" -- ''${cur/*:/}) )
|
COMPREPLY=( $(compgen -W "$($taskcommand _projects)" -- ''${cur/*:/}) )
|
||||||
}
|
}
|
||||||
|
|
||||||
_task_offer_contexts() {
|
_task_offer_contexts() {
|
||||||
COMPREPLY=( ''$(compgen -W "''$(''$taskcommand _context) define delete list none show" -- ''$cur) )
|
COMPREPLY=( $(compgen -W "$($taskcommand _context) define delete list none show" -- $cur) )
|
||||||
}
|
}
|
||||||
|
|
||||||
_task_context_alias=''$(''$taskcommand show | grep alias.*context | cut -d' ' -f1 | cut -d. -f2)
|
_task_context_alias=$($taskcommand show | grep alias.*context | cut -d' ' -f1 | cut -d. -f2)
|
||||||
|
|
||||||
_task()
|
_task()
|
||||||
{
|
{
|
||||||
|
|
@ -144,25 +144,25 @@
|
||||||
# echo "prev='''$prev'"
|
# echo "prev='''$prev'"
|
||||||
# echo "prev2='''$prev2'"
|
# echo "prev2='''$prev2'"
|
||||||
|
|
||||||
abbrev_min=''$(''$taskcommand show | grep "abbreviation.minimum" | awk {'print ''$2'})
|
abbrev_min=$($taskcommand show | grep "abbreviation.minimum" | awk {'print $2'})
|
||||||
commands_aliases=''$(echo ''$(''$taskcommand _commands; ''$taskcommand _aliases) | tr " " "\n"|sort|tr "\n" " ")
|
commands_aliases=$(echo $($taskcommand _commands; $taskcommand _aliases) | tr " " "\n"|sort|tr "\n" " ")
|
||||||
opts="''$commands_aliases ''$(''$taskcommand _columns)"
|
opts="$commands_aliases $($taskcommand _columns)"
|
||||||
|
|
||||||
case "''${prev}" in
|
case "''${prev}" in
|
||||||
''$_task_context_alias|cont|conte|contex|context)
|
$_task_context_alias|cont|conte|contex|context)
|
||||||
_task_offer_contexts
|
_task_offer_contexts
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
:)
|
:)
|
||||||
case "''${prev2}" in
|
case "''${prev2}" in
|
||||||
pri|prior|priori|priorit|priority)
|
pri|prior|priori|priorit|priority)
|
||||||
if [ ''${#prev2} -ge ''$abbrev_min ]; then
|
if [ ''${#prev2} -ge $abbrev_min ]; then
|
||||||
_task_offer_priorities
|
_task_offer_priorities
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
pro|proj|proje|projec|project)
|
pro|proj|proje|projec|project)
|
||||||
if [ ''${#prev2} -ge ''$abbrev_min ]; then
|
if [ ''${#prev2} -ge $abbrev_min ]; then
|
||||||
_task_offer_projects
|
_task_offer_projects
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -187,13 +187,13 @@
|
||||||
:)
|
:)
|
||||||
case "''${prev}" in
|
case "''${prev}" in
|
||||||
pri|prior|priori|priorit|priority)
|
pri|prior|priori|priorit|priority)
|
||||||
if [ ''${#prev} -ge ''$abbrev_min ]; then
|
if [ ''${#prev} -ge $abbrev_min ]; then
|
||||||
_task_offer_priorities
|
_task_offer_priorities
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
pro|proj|proje|projec|project)
|
pro|proj|proje|projec|project)
|
||||||
if [ ''${#prev} -ge ''$abbrev_min ]; then
|
if [ ''${#prev} -ge $abbrev_min ]; then
|
||||||
_task_offer_projects
|
_task_offer_projects
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -212,24 +212,24 @@
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
+*)
|
+*)
|
||||||
local tags=''$(_task_get_tags | sed 's/^/+/')
|
local tags=$(_task_get_tags | sed 's/^/+/')
|
||||||
COMPREPLY=( ''$(compgen -W "''${tags}" -- ''${cur}) )
|
COMPREPLY=( $(compgen -W "''${tags}" -- ''${cur}) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
-*)
|
-*)
|
||||||
local tags=''$(_task_get_tags | sed 's/^/-/')
|
local tags=$(_task_get_tags | sed 's/^/-/')
|
||||||
COMPREPLY=( ''$(compgen -W "''${tags}" -- ''${cur}) )
|
COMPREPLY=( $(compgen -W "''${tags}" -- ''${cur}) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
rc.*)
|
rc.*)
|
||||||
local config=''$(_task_get_config | sed -e 's/^/rc\./' -e 's/''$/:/')
|
local config=$(_task_get_config | sed -e 's/^/rc\./' -e 's/$/:/')
|
||||||
COMPREPLY=( ''$(compgen -W "''${config}" -- ''${cur}) )
|
COMPREPLY=( $(compgen -W "''${config}" -- ''${cur}) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
case "''${prev}" in
|
case "''${prev}" in
|
||||||
import)
|
import)
|
||||||
COMPREPLY=( ''$(compgen -o "default" -- ''${cur}) )
|
COMPREPLY=( $(compgen -o "default" -- ''${cur}) )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -238,7 +238,7 @@
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
COMPREPLY=( ''$(compgen -W "''${opts}" -- ''${cur}) )
|
COMPREPLY=( $(compgen -W "''${opts}" -- ''${cur}) )
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
complete -o nospace -F _task task
|
complete -o nospace -F _task task
|
||||||
|
|
@ -272,7 +272,7 @@
|
||||||
|
|
||||||
function __get_help_items()
|
function __get_help_items()
|
||||||
{
|
{
|
||||||
echo -e "''$( __get_commands ) interval hints date duration dom"
|
echo -e "$( __get_commands ) interval hints date duration dom"
|
||||||
}
|
}
|
||||||
|
|
||||||
function __get_options()
|
function __get_options()
|
||||||
|
|
@ -283,7 +283,7 @@
|
||||||
function __get_ids()
|
function __get_ids()
|
||||||
{
|
{
|
||||||
local count
|
local count
|
||||||
count="''$( timew get dom.tracked.count )"
|
count="$( timew get dom.tracked.count )"
|
||||||
if [[ "''${count}" -eq "0" ]] ; then
|
if [[ "''${count}" -eq "0" ]] ; then
|
||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
|
|
@ -293,12 +293,12 @@
|
||||||
|
|
||||||
function __get_tags()
|
function __get_tags()
|
||||||
{
|
{
|
||||||
timew tags | tail -n +4 -- | sed -e "s|[[:space:]]*-''$||"
|
timew tags | tail -n +4 -- | sed -e "s|[[:space:]]*-$||"
|
||||||
}
|
}
|
||||||
|
|
||||||
function __get_extensions()
|
function __get_extensions()
|
||||||
{
|
{
|
||||||
timew extensions | awk '{if(NR>6)print ''$1}'
|
timew extensions | awk '{if(NR>6)print $1}'
|
||||||
}
|
}
|
||||||
|
|
||||||
function __has_entered_id()
|
function __has_entered_id()
|
||||||
|
|
@ -314,7 +314,7 @@
|
||||||
|
|
||||||
function __has_entered_subcommand()
|
function __has_entered_subcommand()
|
||||||
{
|
{
|
||||||
local subcommands=''$( __get_subcommands "''${1}" )
|
local subcommands=$( __get_subcommands "''${1}" )
|
||||||
|
|
||||||
for word in "''${COMP_WORDS[@]}" ; do
|
for word in "''${COMP_WORDS[@]}" ; do
|
||||||
for cmd in ''${subcommands} ; do
|
for cmd in ''${subcommands} ; do
|
||||||
|
|
@ -329,7 +329,7 @@
|
||||||
|
|
||||||
function __has_entered_help_item()
|
function __has_entered_help_item()
|
||||||
{
|
{
|
||||||
local items=''$( __get_help_items )
|
local items=$( __get_help_items )
|
||||||
|
|
||||||
for word in "''${COMP_WORDS[@]:2}" ; do
|
for word in "''${COMP_WORDS[@]:2}" ; do
|
||||||
for item in ''${items} ; do
|
for item in ''${items} ; do
|
||||||
|
|
@ -358,17 +358,17 @@
|
||||||
local line wordlist
|
local line wordlist
|
||||||
|
|
||||||
declare -a wordlist
|
declare -a wordlist
|
||||||
while IFS=''$'\n' read -r line ; do
|
while IFS=$'\n' read -r line ; do
|
||||||
wordlist+=( "''${line}" )
|
wordlist+=( "''${line}" )
|
||||||
done <<< "''$( __get_tags )"
|
done <<< "$( __get_tags )"
|
||||||
|
|
||||||
declare -a completions
|
declare -a completions
|
||||||
while read -r line ; do
|
while read -r line ; do
|
||||||
completions+=( "''${line}" )
|
completions+=( "''${line}" )
|
||||||
done < <( compgen -W "''$(printf '%q ' "''${wordlist[@]}")" -- "''${cur}" 2>/dev/null )
|
done < <( compgen -W "$(printf '%q ' "''${wordlist[@]}")" -- "''${cur}" 2>/dev/null )
|
||||||
|
|
||||||
for completion in "''${completions[@]}" ; do
|
for completion in "''${completions[@]}" ; do
|
||||||
COMPREPLY+=( "''$(printf "%q" "''${completion}")" )
|
COMPREPLY+=( "$(printf "%q" "''${completion}")" )
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -385,7 +385,7 @@
|
||||||
wordlist=""
|
wordlist=""
|
||||||
;;
|
;;
|
||||||
annotate|continue|delete|join|lengthen|move|resize|shorten|split)
|
annotate|continue|delete|join|lengthen|move|resize|shorten|split)
|
||||||
wordlist=''$( __get_ids )
|
wordlist=$( __get_ids )
|
||||||
;;
|
;;
|
||||||
export|gaps|start|stop|summary|tags|track)
|
export|gaps|start|stop|summary|tags|track)
|
||||||
__complete_tag
|
__complete_tag
|
||||||
|
|
@ -393,40 +393,40 @@
|
||||||
;;
|
;;
|
||||||
modify)
|
modify)
|
||||||
if __has_entered_subcommand "''${first}" ; then
|
if __has_entered_subcommand "''${first}" ; then
|
||||||
wordlist=''$( __get_ids )
|
wordlist=$( __get_ids )
|
||||||
else
|
else
|
||||||
wordlist=''$( __get_subcommands "''${first}" )
|
wordlist=$( __get_subcommands "''${first}" )
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
tag|untag)
|
tag|untag)
|
||||||
if __is_entering_id ; then
|
if __is_entering_id ; then
|
||||||
wordlist=''$( __get_ids )
|
wordlist=$( __get_ids )
|
||||||
elif __has_entered_id ; then
|
elif __has_entered_id ; then
|
||||||
__complete_tag
|
__complete_tag
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
wordlist=''$( __get_ids )
|
wordlist=$( __get_ids )
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
report)
|
report)
|
||||||
wordlist=''$( __get_extensions )
|
wordlist=$( __get_extensions )
|
||||||
;;
|
;;
|
||||||
help)
|
help)
|
||||||
if __has_entered_help_item ; then
|
if __has_entered_help_item ; then
|
||||||
wordlist=""
|
wordlist=""
|
||||||
else
|
else
|
||||||
wordlist=''$( __get_help_items )
|
wordlist=$( __get_help_items )
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
-*)
|
-*)
|
||||||
wordlist=''$( __get_options )
|
wordlist=$( __get_options )
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
wordlist=''$( __get_commands )
|
wordlist=$( __get_commands )
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
COMPREPLY=(''$( compgen -W "''${wordlist}" -- "''${cur}" ))
|
COMPREPLY=($( compgen -W "''${wordlist}" -- "''${cur}" ))
|
||||||
}
|
}
|
||||||
|
|
||||||
complete -F _timew timew
|
complete -F _timew timew
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,7 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
#home.packages = with pkgs; [ btop ];
|
#home.packages = with pkgs; [ btop ];
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = { proc_gradient = false; };
|
||||||
proc_gradient = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,100 +1,98 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [{
|
||||||
{
|
plugin = bufferline-nvim;
|
||||||
plugin = bufferline-nvim;
|
type = "lua";
|
||||||
type = "lua";
|
config = ''
|
||||||
config = ''
|
require("bufferline").setup({
|
||||||
require("bufferline").setup({
|
options = {
|
||||||
options = {
|
close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
|
||||||
close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
|
right_mouse_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
|
||||||
right_mouse_command = "bdelete! %d", -- can be a string | function, see "Mouse actions"
|
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
|
||||||
offsets = { { filetype = "NvimTree", text = "", padding = 1 } },
|
separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
|
||||||
separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' },
|
},
|
||||||
|
highlights = {
|
||||||
|
fill = {
|
||||||
|
fg = "#ff0000",
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
},
|
},
|
||||||
highlights = {
|
background = {
|
||||||
fill = {
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
fg = "#ff0000",
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
background = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
|
|
||||||
buffer_visible = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
|
|
||||||
close_button = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
close_button_visible = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
|
|
||||||
tab_selected = {
|
|
||||||
fg = { attribute = "fg", highlight = "Normal" },
|
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
|
||||||
},
|
|
||||||
tab = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
tab_close = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLineSel" },
|
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
|
||||||
},
|
|
||||||
|
|
||||||
duplicate_selected = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLineSel" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLineSel" },
|
|
||||||
italic = true,
|
|
||||||
},
|
|
||||||
duplicate_visible = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
italic = true,
|
|
||||||
},
|
|
||||||
duplicate = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
italic = true,
|
|
||||||
},
|
|
||||||
|
|
||||||
modified = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
modified_selected = {
|
|
||||||
fg = { attribute = "fg", highlight = "Normal" },
|
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
|
||||||
},
|
|
||||||
modified_visible = {
|
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
|
|
||||||
separator = {
|
|
||||||
fg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
|
||||||
},
|
|
||||||
separator_selected = {
|
|
||||||
fg = { attribute = "bg", highlight = "Normal" },
|
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
|
||||||
},
|
|
||||||
indicator_selected = {
|
|
||||||
fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
|
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
})
|
|
||||||
'';
|
buffer_visible = {
|
||||||
}
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
];
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
close_button = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
close_button_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
tab_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "Normal" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
tab = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
tab_close = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
|
||||||
|
duplicate_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLineSel" },
|
||||||
|
italic = true,
|
||||||
|
},
|
||||||
|
duplicate_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
italic = true,
|
||||||
|
},
|
||||||
|
duplicate = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
italic = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
modified = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
modified_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "Normal" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
modified_visible = {
|
||||||
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
|
||||||
|
separator = {
|
||||||
|
fg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
},
|
||||||
|
separator_selected = {
|
||||||
|
fg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
indicator_selected = {
|
||||||
|
fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" },
|
||||||
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# vim: shiftwidth=2 tabstop=2 expandtab
|
# vim: shiftwidth=2 tabstop=2 expandtab
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./bash.nix
|
./bash.nix
|
||||||
./btop.nix
|
./btop.nix
|
||||||
|
|
@ -94,9 +90,7 @@
|
||||||
zip
|
zip
|
||||||
];
|
];
|
||||||
services = {
|
services = {
|
||||||
syncthing = {
|
syncthing = { tray.enable = true; };
|
||||||
tray.enable = true;
|
|
||||||
};
|
|
||||||
gpg-agent = {
|
gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultCacheTtl = 1800;
|
defaultCacheTtl = 1800;
|
||||||
|
|
@ -108,7 +102,8 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
agents = "ssh";
|
agents = "ssh";
|
||||||
keys = "id_aur id_dsa id_ed25519 id_rsa 56913AD86A18257132AA9F03928BC0B78C1BF5AA";
|
keys =
|
||||||
|
"id_aur id_dsa id_ed25519 id_rsa 56913AD86A18257132AA9F03928BC0B78C1BF5AA";
|
||||||
inheritType = "any";
|
inheritType = "any";
|
||||||
};
|
};
|
||||||
home.file.".links/links.cfg".source = files/links.cfg;
|
home.file.".links/links.cfg".source = files/links.cfg;
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,5 @@
|
||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
programs.lazygit = { settings = { os.editPreset = "lvim"; }; };
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.lazygit = {
|
|
||||||
settings = {
|
|
||||||
os.editPreset = "lvim";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
aliases = {
|
aliases = {
|
||||||
|
|
@ -17,9 +9,7 @@
|
||||||
st = "status";
|
st = "status";
|
||||||
last = "cat-file commit HEAD";
|
last = "cat-file commit HEAD";
|
||||||
};
|
};
|
||||||
diff-so-fancy = {
|
diff-so-fancy = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
core = {
|
core = {
|
||||||
user = "Don Harper";
|
user = "Don Harper";
|
||||||
|
|
@ -27,9 +17,7 @@
|
||||||
editor = "${pkgs.lunarvim}/bin/lvim";
|
editor = "${pkgs.lunarvim}/bin/lvim";
|
||||||
sshCommand = "${pkgs.openssh}/bin/ssh -i ~/.ssh/git";
|
sshCommand = "${pkgs.openssh}/bin/ssh -i ~/.ssh/git";
|
||||||
};
|
};
|
||||||
safe = {
|
safe = { directory = "/home/don/src/nixos/duckland/.git"; };
|
||||||
directory = "/home/don/src/nixos/duckland/.git";
|
|
||||||
};
|
|
||||||
status = {
|
status = {
|
||||||
submoduleSummary = "true";
|
submoduleSummary = "true";
|
||||||
short = "true";
|
short = "true";
|
||||||
|
|
@ -38,21 +26,14 @@
|
||||||
name = "Don Harper";
|
name = "Don Harper";
|
||||||
email = "duck@duckland.org";
|
email = "duck@duckland.org";
|
||||||
};
|
};
|
||||||
push = {
|
push = { default = "simple"; };
|
||||||
default = "simple";
|
pull = { rebase = "false"; };
|
||||||
};
|
|
||||||
pull = {
|
|
||||||
rebase = "false";
|
|
||||||
};
|
|
||||||
git-extras = {
|
git-extras = {
|
||||||
github-personal-access-token = "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";
|
github-personal-access-token =
|
||||||
};
|
"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";
|
||||||
fetch = {
|
|
||||||
prune = "true";
|
|
||||||
};
|
|
||||||
init = {
|
|
||||||
defaultBranch = "main";
|
|
||||||
};
|
};
|
||||||
|
fetch = { prune = "true"; };
|
||||||
|
init = { defaultBranch = "main"; };
|
||||||
credential = {
|
credential = {
|
||||||
"https://github.com" = {
|
"https://github.com" = {
|
||||||
helper = "!${pkgs.gh}/bin/gh auth git-credential";
|
helper = "!${pkgs.gh}/bin/gh auth git-credential";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{...}: {
|
{ ... }: {
|
||||||
programs.gpg = {
|
programs.gpg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [khal];
|
home.packages = with pkgs; [ khal ];
|
||||||
xdg.configFile."khal/config".text = ''
|
xdg.configFile."khal/config".text = ''
|
||||||
[calendars]
|
[calendars]
|
||||||
[[work]]
|
[[work]]
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,11 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.khard = {
|
programs.khard = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
default_action = "list";
|
default_action = "list";
|
||||||
editor = "${pkgs.neovim}/bin/nvim";
|
editor = "${pkgs.neovim}/bin/nvim";
|
||||||
merge_editor = [
|
merge_editor = [ "${pkgs.neovim}/bin/nvim" "-d" ];
|
||||||
"${pkgs.neovim}/bin/nvim"
|
|
||||||
"-d"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
"contact table" = {
|
"contact table" = {
|
||||||
display = "first_name";
|
display = "first_name";
|
||||||
|
|
@ -22,24 +15,11 @@
|
||||||
show_uids = "no";
|
show_uids = "no";
|
||||||
sort = "last_name";
|
sort = "last_name";
|
||||||
localize_dates = "yes";
|
localize_dates = "yes";
|
||||||
preferred_phone_number_type = [
|
preferred_phone_number_type = [ "pref" "cell" "home" ];
|
||||||
"pref"
|
preferred_email_address_type = [ "pref" "work" "home" ];
|
||||||
"cell"
|
|
||||||
"home"
|
|
||||||
];
|
|
||||||
preferred_email_address_type = [
|
|
||||||
"pref"
|
|
||||||
"work"
|
|
||||||
"home"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
vcard = {
|
vcard = {
|
||||||
private_objects = [
|
private_objects = [ "Jabber" "Skype" "Twitter" "Mastodon" ];
|
||||||
"Jabber"
|
|
||||||
"Skype"
|
|
||||||
"Twitter"
|
|
||||||
"Mastodon"
|
|
||||||
];
|
|
||||||
preferred_version = "3.0";
|
preferred_version = "3.0";
|
||||||
search_in_source_files = "no";
|
search_in_source_files = "no";
|
||||||
skip_unparsable = "no";
|
skip_unparsable = "no";
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,10 @@
|
||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
xdg.configFile."lf/icons".source = ./icons;
|
xdg.configFile."lf/icons".source = ./icons;
|
||||||
|
|
||||||
programs.lf = {
|
programs.lf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
commands = {
|
commands = {
|
||||||
editor-open = ''$$EDITOR $f'';
|
editor-open = "$$EDITOR $f";
|
||||||
mkdir = ''
|
mkdir = ''
|
||||||
''${{
|
''${{
|
||||||
printf "Directory Name: "
|
printf "Directory Name: "
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [liquidprompt];
|
home.packages = with pkgs; [ liquidprompt ];
|
||||||
xdg.configFile."liquidpromptrc".text = ''
|
xdg.configFile."liquidpromptrc".text = ''
|
||||||
source ~/.config/liquidprompt.theme
|
source ~/.config/liquidprompt.theme
|
||||||
LOCAL_RCFILE=$HOME/.config/liquidpromptrc.local
|
LOCAL_RCFILE=$HOME/.config/liquidpromptrc.local
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
home.packages = with pkgs; [ listadmin ];
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [listadmin];
|
|
||||||
home.file."listadmin.ini" = {
|
home.file."listadmin.ini" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
target = ".listadmin.ini";
|
target = ".listadmin.ini";
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
"don@donharper.org" = {
|
"don@donharper.org" = {
|
||||||
primary = true;
|
primary = true;
|
||||||
|
|
@ -17,7 +13,7 @@
|
||||||
programs.notmuch = {
|
programs.notmuch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
new = {
|
new = {
|
||||||
tags = ["unread"];
|
tags = [ "unread" ];
|
||||||
ignore = [
|
ignore = [
|
||||||
".mbsyncstate"
|
".mbsyncstate"
|
||||||
".uidvalidity"
|
".uidvalidity"
|
||||||
|
|
@ -26,11 +22,7 @@
|
||||||
".mbsyncstate.lock"
|
".mbsyncstate.lock"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = { database = { path = "/home/don/Mail"; }; };
|
||||||
database = {
|
|
||||||
path = "/home/don/Mail";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."neomutt/neomuttrc".source = ./files/neomutt/neomuttrc;
|
xdg.configFile."neomutt/neomuttrc".source = ./files/neomutt/neomuttrc;
|
||||||
|
|
@ -49,9 +41,7 @@
|
||||||
OnUnitActiveSec = "5m";
|
OnUnitActiveSec = "5m";
|
||||||
AccuracySec = "1m";
|
AccuracySec = "1m";
|
||||||
};
|
};
|
||||||
Install = {
|
Install = { WantedBy = [ "timers.target" ]; };
|
||||||
WantedBy = ["timers.target"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mbsync = {
|
services.mbsync = {
|
||||||
|
|
@ -60,9 +50,7 @@
|
||||||
Environment = "PATH=/run/current-system/sw/bin";
|
Environment = "PATH=/run/current-system/sw/bin";
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
};
|
};
|
||||||
Install = {
|
Install = { WantedBy = [ "mbsync.timer" ]; };
|
||||||
WantedBy = ["mbsync.timer"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services."mbsync-all" = {
|
services."mbsync-all" = {
|
||||||
|
|
@ -71,9 +59,7 @@
|
||||||
Environment = "PATH=/run/current-system/sw/bin";
|
Environment = "PATH=/run/current-system/sw/bin";
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
};
|
};
|
||||||
Install = {
|
Install = { WantedBy = [ "mbsync-all.timer" ]; };
|
||||||
WantedBy = ["mbsync-all.timer"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
timers."mbsync-all" = {
|
timers."mbsync-all" = {
|
||||||
|
|
@ -81,9 +67,7 @@
|
||||||
AccuracySec = "1m";
|
AccuracySec = "1m";
|
||||||
OnUnitActiveSec = "14m";
|
OnUnitActiveSec = "14m";
|
||||||
};
|
};
|
||||||
Install = {
|
Install = { WantedBy = [ "timers.target" ]; };
|
||||||
WantedBy = ["timers.target"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,8 @@
|
||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services = {
|
services = {
|
||||||
mopidy = {
|
mopidy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensionPackages = with pkgs; [
|
extensionPackages = with pkgs; [ mopidy-mpd mopidy-subidy mopidy-moped ];
|
||||||
mopidy-mpd
|
|
||||||
mopidy-subidy
|
|
||||||
mopidy-moped
|
|
||||||
];
|
|
||||||
settings = {
|
settings = {
|
||||||
http = {
|
http = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
|
|
@ -26,9 +18,7 @@
|
||||||
password = "D4u5c3k!@";
|
password = "D4u5c3k!@";
|
||||||
albumartistsort = false;
|
albumartistsort = false;
|
||||||
};
|
};
|
||||||
mpd = {
|
mpd = { enabled = true; };
|
||||||
enabled = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = false;
|
defaultEditor = false;
|
||||||
|
|
@ -63,7 +59,5 @@
|
||||||
vimux
|
vimux
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [ ./bufferline.nix ];
|
||||||
./bufferline.nix
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.newsboat = {
|
programs.newsboat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoReload = true;
|
autoReload = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
taskwarrior2
|
taskwarrior2
|
||||||
taskwarrior-tui
|
taskwarrior-tui
|
||||||
|
|
@ -13,9 +13,7 @@
|
||||||
dataLocation = "~/.task";
|
dataLocation = "~/.task";
|
||||||
config = {
|
config = {
|
||||||
weekstart = "Monday";
|
weekstart = "Monday";
|
||||||
burndown = {
|
burndown = { cumulative = 0; };
|
||||||
cumulative = 0;
|
|
||||||
};
|
|
||||||
journal = {
|
journal = {
|
||||||
info = "no";
|
info = "no";
|
||||||
time = "yes";
|
time = "yes";
|
||||||
|
|
@ -35,8 +33,10 @@
|
||||||
report = {
|
report = {
|
||||||
_reviewed = {
|
_reviewed = {
|
||||||
columns = "uuid";
|
columns = "uuid";
|
||||||
description = "Tasksh review report. Adjust the filter to your needs.";
|
description =
|
||||||
filter = "( reviewed.none: or reviewed.before:now-4weeks ) and ( +PENDING or +WAITING ) and -someday and project.not:books";
|
"Tasksh review report. Adjust the filter to your needs.";
|
||||||
|
filter =
|
||||||
|
"( reviewed.none: or reviewed.before:now-4weeks ) and ( +PENDING or +WAITING ) and -someday and project.not:books";
|
||||||
sort = "reviewed+,modified+";
|
sort = "reviewed+,modified+";
|
||||||
};
|
};
|
||||||
mine = {
|
mine = {
|
||||||
|
|
@ -48,25 +48,33 @@
|
||||||
};
|
};
|
||||||
next.filter = " status:pending limit:page -BLOCKED -someday -WAITING";
|
next.filter = " status:pending limit:page -BLOCKED -someday -WAITING";
|
||||||
inbox = {
|
inbox = {
|
||||||
columns = " id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
columns =
|
||||||
|
" id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
||||||
description = "list inbox items";
|
description = "list inbox items";
|
||||||
filter = " status:pending limit:10 -BLOCKED -someday -WAITING proj:inbox";
|
filter =
|
||||||
labels = " ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
" status:pending limit:10 -BLOCKED -someday -WAITING proj:inbox";
|
||||||
|
labels =
|
||||||
|
" ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
||||||
sort = " urgency-";
|
sort = " urgency-";
|
||||||
context = " 0";
|
context = " 0";
|
||||||
};
|
};
|
||||||
waiting = {
|
waiting = {
|
||||||
columns = " id,start.age,entry.age,depends,priority,project,tags,recur,wait,due,until.remaining,description,urgency";
|
columns =
|
||||||
|
" id,start.age,entry.age,depends,priority,project,tags,recur,wait,due,until.remaining,description,urgency";
|
||||||
description = "Waiting";
|
description = "Waiting";
|
||||||
filter = " status.not:deleted status.not:completed -BLOCKED -someday +WAITING";
|
filter =
|
||||||
labels = " ID,Active,Age,Deps,P,Project,Tag,Recur,Wait til,Due,Until,Description,Urg";
|
" status.not:deleted status.not:completed -BLOCKED -someday +WAITING";
|
||||||
|
labels =
|
||||||
|
" ID,Active,Age,Deps,P,Project,Tag,Recur,Wait til,Due,Until,Description,Urg";
|
||||||
sort = " wait";
|
sort = " wait";
|
||||||
};
|
};
|
||||||
nnext = {
|
nnext = {
|
||||||
columns = " id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
columns =
|
||||||
|
" id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
||||||
description = "Next 10 list";
|
description = "Next 10 list";
|
||||||
filter = " status:pending limit:10 -BLOCKED -someday -WAITING";
|
filter = " status:pending limit:10 -BLOCKED -someday -WAITING";
|
||||||
labels = " ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
labels =
|
||||||
|
" ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
||||||
sort = " urgency-";
|
sort = " urgency-";
|
||||||
};
|
};
|
||||||
title = {
|
title = {
|
||||||
|
|
@ -78,23 +86,28 @@
|
||||||
sort = " description+";
|
sort = " description+";
|
||||||
};
|
};
|
||||||
anext = {
|
anext = {
|
||||||
columns = " id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
columns =
|
||||||
|
" id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
||||||
description = "Next 10 list";
|
description = "Next 10 list";
|
||||||
filter = " status:pending limit:10 -BLOCKED -WAITING";
|
filter = " status:pending limit:10 -BLOCKED -WAITING";
|
||||||
labels = " ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
labels =
|
||||||
|
" ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
||||||
sort = " urgency-";
|
sort = " urgency-";
|
||||||
};
|
};
|
||||||
last = {
|
last = {
|
||||||
columns = " id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
columns =
|
||||||
|
" id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
|
||||||
description = "Oldest 10 list";
|
description = "Oldest 10 list";
|
||||||
filter = " status:pending limit:10 -BLOCKED -someday -WAITING";
|
filter = " status:pending limit:10 -BLOCKED -someday -WAITING";
|
||||||
labels = " ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
labels =
|
||||||
|
" ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg";
|
||||||
sort = " entry+";
|
sort = " entry+";
|
||||||
};
|
};
|
||||||
inboxdash = {
|
inboxdash = {
|
||||||
columns = " id,project,description.count";
|
columns = " id,project,description.count";
|
||||||
description = "Inbox for dashboards";
|
description = "Inbox for dashboards";
|
||||||
filter = " status:pending limit:10 -BLOCKED -someday -WAITING proj:inbox";
|
filter =
|
||||||
|
" status:pending limit:10 -BLOCKED -someday -WAITING proj:inbox";
|
||||||
labels = " ID,Project,Description";
|
labels = " ID,Project,Description";
|
||||||
sort = " urgency-";
|
sort = " urgency-";
|
||||||
};
|
};
|
||||||
|
|
@ -106,7 +119,8 @@
|
||||||
sort = " urgency-";
|
sort = " urgency-";
|
||||||
};
|
};
|
||||||
mail = {
|
mail = {
|
||||||
columns = " id,priority,project,due.relative,until.remaining,description.count,urgency";
|
columns =
|
||||||
|
" id,priority,project,due.relative,until.remaining,description.count,urgency";
|
||||||
description = "Next 5 list";
|
description = "Next 5 list";
|
||||||
filter = " status:pending limit:5 -BLOCKED -someday -WAITING";
|
filter = " status:pending limit:5 -BLOCKED -someday -WAITING";
|
||||||
labels = " ID,P,Project,Due,Until,Description,Urg";
|
labels = " ID,P,Project,Due,Until,Description,Urg";
|
||||||
|
|
@ -115,13 +129,15 @@
|
||||||
followup = {
|
followup = {
|
||||||
columns = " id,start.age,entry.age,priority,project,description";
|
columns = " id,start.age,entry.age,priority,project,description";
|
||||||
description = "Someday list";
|
description = "Someday list";
|
||||||
filter = " status.not:completed status.not:deleted -BLOCKED +followup";
|
filter =
|
||||||
|
" status.not:completed status.not:deleted -BLOCKED +followup";
|
||||||
labels = " ID,Active,Age,P,Project,Description";
|
labels = " ID,Active,Age,P,Project,Description";
|
||||||
sort = " project,urgency-";
|
sort = " project,urgency-";
|
||||||
context = " 0";
|
context = " 0";
|
||||||
};
|
};
|
||||||
someday = {
|
someday = {
|
||||||
columns = " id,start.age,entry.age,priority,project,description,urgency";
|
columns =
|
||||||
|
" id,start.age,entry.age,priority,project,description,urgency";
|
||||||
description = "Someday list";
|
description = "Someday list";
|
||||||
filter = " status:pending -BLOCKED +someday limit:page -WAITING";
|
filter = " status:pending -BLOCKED +someday limit:page -WAITING";
|
||||||
labels = " ID,Active,Age,P,Project,Description,Urg";
|
labels = " ID,Active,Age,P,Project,Description,Urg";
|
||||||
|
|
@ -133,7 +149,8 @@
|
||||||
taskd = {
|
taskd = {
|
||||||
ca = "/home/don/.task/ca.cert.pem";
|
ca = "/home/don/.task/ca.cert.pem";
|
||||||
certificate = "/home/don/.task/don_harper.cert.pem";
|
certificate = "/home/don/.task/don_harper.cert.pem";
|
||||||
credentials = "duckland.org/Don Harper/de27c234-6217-4e8b-83c1-2ea840bac55f";
|
credentials =
|
||||||
|
"duckland.org/Don Harper/de27c234-6217-4e8b-83c1-2ea840bac55f";
|
||||||
key = "/home/don/.task/don_harper.key.pem";
|
key = "/home/don/.task/don_harper.key.pem";
|
||||||
server = "task.duckland.org:53589";
|
server = "task.duckland.org:53589";
|
||||||
recurrence = "on";
|
recurrence = "on";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
aggressiveResize = true;
|
aggressiveResize = true;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.topgrade = {
|
programs.topgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs.vifm = {
|
programs.vifm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,21 @@
|
||||||
{
|
{ inputs, outputs, ... }: {
|
||||||
inputs,
|
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
||||||
outputs,
|
home-manager.extraSpecialArgs = { inherit inputs outputs; };
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
];
|
|
||||||
home-manager.extraSpecialArgs = {
|
|
||||||
inherit inputs outputs;
|
|
||||||
};
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
backupFileExtension = "home-manager-backup";
|
backupFileExtension = "home-manager-backup";
|
||||||
users = {
|
users = {
|
||||||
don = {
|
don = {
|
||||||
imports = [
|
imports = [ inputs.catppuccin.homeManagerModules.catppuccin ./common ];
|
||||||
inputs.catppuccin.homeManagerModules.catppuccin
|
|
||||||
./common
|
|
||||||
];
|
|
||||||
home = {
|
home = {
|
||||||
username = "don";
|
username = "don";
|
||||||
homeDirectory = "/home/don";
|
homeDirectory = "/home/don";
|
||||||
stateVersion = "23.05";
|
stateVersion = "23.05";
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
home-manager = {
|
home-manager = { enable = true; };
|
||||||
enable = true;
|
go = { enable = true; };
|
||||||
};
|
|
||||||
go = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
xdg.configFile."autostart" = {
|
xdg.configFile."autostart" = {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ./files/autostart;
|
source = ./files/autostart;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: { home.packages = with pkgs; [ gnome-boxes libvirt qemu ]; }
|
||||||
home.packages = with pkgs; [
|
|
||||||
gnome-boxes
|
|
||||||
libvirt
|
|
||||||
qemu
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ pkgs, inputs, ... }: {
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home-manager.users.don = {
|
home-manager.users.don = {
|
||||||
imports = [
|
imports = [
|
||||||
./alacritty.nix
|
./alacritty.nix
|
||||||
|
|
@ -16,13 +12,11 @@
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./terminals.nix
|
./terminals.nix
|
||||||
];
|
];
|
||||||
fonts = {
|
fonts = { fontconfig = { enable = true; }; };
|
||||||
fontconfig = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {qutebrowser = prev.qutebrowser.override {enableWideVine = true;};})
|
(final: prev: {
|
||||||
|
qutebrowser = prev.qutebrowser.override { enableWideVine = true; };
|
||||||
|
})
|
||||||
];
|
];
|
||||||
home.packages = with pkgs;
|
home.packages = with pkgs;
|
||||||
[
|
[
|
||||||
|
|
@ -69,45 +63,46 @@
|
||||||
watchmate
|
watchmate
|
||||||
widevine-cdm
|
widevine-cdm
|
||||||
yt-dlp
|
yt-dlp
|
||||||
]
|
] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
|
||||||
++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
|
|
||||||
xdg = {
|
xdg = {
|
||||||
mimeApps = {
|
mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
associations.added = {
|
associations.added = {
|
||||||
"application/octet-stream" = ["gvim.desktop"];
|
"application/octet-stream" = [ "gvim.desktop" ];
|
||||||
"application/pdf" = [
|
"application/pdf" = [
|
||||||
"qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop"
|
"qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop"
|
||||||
];
|
];
|
||||||
"audio/mpeg" = ["org.kde.kid3.desktop"];
|
"audio/mpeg" = [ "org.kde.kid3.desktop" ];
|
||||||
"image/jpeg" = ["darktable.desktop;gimp.desktop;imv.desktop"];
|
"image/jpeg" = [ "darktable.desktop;gimp.desktop;imv.desktop" ];
|
||||||
"image/png" = ["darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop"];
|
"image/png" =
|
||||||
"image/x-adobe-dng" = ["imv.desktop"];
|
[ "darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop" ];
|
||||||
"inode/directory" = ["thunar.desktop"];
|
"image/x-adobe-dng" = [ "imv.desktop" ];
|
||||||
"text/plain" = ["gvim.desktop"];
|
"inode/directory" = [ "thunar.desktop" ];
|
||||||
"x-scheme-handler/pdf" = ["pdfview.desktop"];
|
"text/plain" = [ "gvim.desktop" ];
|
||||||
|
"x-scheme-handler/pdf" = [ "pdfview.desktop" ];
|
||||||
"x-scheme-handler/tg" = [
|
"x-scheme-handler/tg" = [
|
||||||
"userapp-Telegram Desktop-9M6O50.desktop;userapp-Telegram Desktop-6IJLW1.desktop;userapp-Telegram Desktop-IQIXX1.desktop;userapp-Telegram Desktop-FK06Y1.desktop;userapp-Telegram Desktop-1SZ7Y1.desktop;userapp-Telegram Desktop-C24MZ1.desktop;userapp-Telegram Desktop-29FD01.desktop;userapp-Telegram Desktop-21P401.desktop;userapp-Telegram Desktop-LOTG11.desktop"
|
"userapp-Telegram Desktop-9M6O50.desktop;userapp-Telegram Desktop-6IJLW1.desktop;userapp-Telegram Desktop-IQIXX1.desktop;userapp-Telegram Desktop-FK06Y1.desktop;userapp-Telegram Desktop-1SZ7Y1.desktop;userapp-Telegram Desktop-C24MZ1.desktop;userapp-Telegram Desktop-29FD01.desktop;userapp-Telegram Desktop-21P401.desktop;userapp-Telegram Desktop-LOTG11.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"inode/directory" = ["thunar.desktop"];
|
"inode/directory" = [ "thunar.desktop" ];
|
||||||
"model/3mf" = ["com.ultimaker.cura.desktop"];
|
"model/3mf" = [ "com.ultimaker.cura.desktop" ];
|
||||||
"model/gltf+json" = ["com.ultimaker.cura.desktop"];
|
"model/gltf+json" = [ "com.ultimaker.cura.desktop" ];
|
||||||
"model/gltf-binary" = ["com.ultimaker.cura.desktop"];
|
"model/gltf-binary" = [ "com.ultimaker.cura.desktop" ];
|
||||||
"model/stl" = ["com.ultimaker.cura.desktop"];
|
"model/stl" = [ "com.ultimaker.cura.desktop" ];
|
||||||
"text/html" = ["org.qutebrowser.qutebrowser.desktop"];
|
"text/html" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
||||||
"x-scheme-handler/about" = ["org.qutebrowser.qutebrowser.desktop"];
|
"x-scheme-handler/about" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
||||||
"x-scheme-handler/etcher" = ["balena-etcher.desktop"];
|
"x-scheme-handler/etcher" = [ "balena-etcher.desktop" ];
|
||||||
"x-scheme-handler/http" = ["org.qutebrowser.qutebrowser.desktop"];
|
"x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
||||||
"x-scheme-handler/https" = ["org.qutebrowser.qutebrowser.desktop"];
|
"x-scheme-handler/https" = [ "org.qutebrowser.qutebrowser.desktop" ];
|
||||||
"x-scheme-handler/msteams" = ["teams-for-linux.desktop"];
|
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
|
||||||
"x-scheme-handler/pdf" = ["myweb.desktop"];
|
"x-scheme-handler/pdf" = [ "myweb.desktop" ];
|
||||||
"x-scheme-handler/tg" = ["userapp-Telegram Desktop-LOTG11.desktop"];
|
"x-scheme-handler/tg" = [ "userapp-Telegram Desktop-LOTG11.desktop" ];
|
||||||
"x-scheme-handler/tootle" = ["com.github.bleakgrey.tootle.desktop"];
|
"x-scheme-handler/tootle" = [ "com.github.bleakgrey.tootle.desktop" ];
|
||||||
"x-scheme-handler/unknown" = ["org.qutebrowser.qutebrowser.desktop"];
|
"x-scheme-handler/unknown" =
|
||||||
"application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"];
|
[ "org.qutebrowser.qutebrowser.desktop" ];
|
||||||
"x-scheme-handler/mailto" = ["neomutt.desktop"];
|
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
|
||||||
|
"x-scheme-handler/mailto" = [ "neomutt.desktop" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
desktopEntries = {
|
desktopEntries = {
|
||||||
|
|
@ -133,7 +128,7 @@
|
||||||
terminal = false;
|
terminal = false;
|
||||||
name = "myweb";
|
name = "myweb";
|
||||||
exec = "/home/don/bin/myweb %u";
|
exec = "/home/don/bin/myweb %u";
|
||||||
mimeType = ["x-scheme-handler/pdf"];
|
mimeType = [ "x-scheme-handler/pdf" ];
|
||||||
};
|
};
|
||||||
cooking-notebook = {
|
cooking-notebook = {
|
||||||
type = "Application";
|
type = "Application";
|
||||||
|
|
@ -148,8 +143,8 @@
|
||||||
type = "Application";
|
type = "Application";
|
||||||
icon = "obsidian";
|
icon = "obsidian";
|
||||||
comment = "Obsidian";
|
comment = "Obsidian";
|
||||||
mimeType = ["x-scheme-handler/obsidian"];
|
mimeType = [ "x-scheme-handler/obsidian" ];
|
||||||
categories = ["Office"];
|
categories = [ "Office" ];
|
||||||
};
|
};
|
||||||
journal = {
|
journal = {
|
||||||
name = "Journal";
|
name = "Journal";
|
||||||
|
|
@ -158,13 +153,11 @@
|
||||||
type = "Application";
|
type = "Application";
|
||||||
icon = "obsidian";
|
icon = "obsidian";
|
||||||
comment = "Obsidian Journal";
|
comment = "Obsidian Journal";
|
||||||
mimeType = ["x-scheme-handler/obsidian"];
|
mimeType = [ "x-scheme-handler/obsidian" ];
|
||||||
categories = ["Office"];
|
categories = [ "Office" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
configFile = {
|
configFile = { "shikane/config.toml".source = files/shikane.toml; };
|
||||||
"shikane/config.toml".source = files/shikane.toml;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
home.packages = with pkgs; [ fuzzel ];
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [fuzzel];
|
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -15,9 +11,7 @@
|
||||||
prompt = "❯ ";
|
prompt = "❯ ";
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
};
|
};
|
||||||
border = {
|
border = { radius = 20; };
|
||||||
radius = 20;
|
|
||||||
};
|
|
||||||
dmenu = {
|
dmenu = {
|
||||||
exit-immediately-if-empty = true;
|
exit-immediately-if-empty = true;
|
||||||
mode = "index";
|
mode = "index";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
home.packages = with pkgs; [ktimer];
|
home.packages = with pkgs; [ ktimer ];
|
||||||
xdg.configFile."ktimerrc".text = ''
|
xdg.configFile."ktimerrc".text = ''
|
||||||
[Job0]
|
[Job0]
|
||||||
Command[$e]=$HOME/bin/timeup
|
Command[$e]=$HOME/bin/timeup
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
programs = {
|
programs = {
|
||||||
mpv = {
|
mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -22,7 +22,8 @@
|
||||||
hr-seek = "yes";
|
hr-seek = "yes";
|
||||||
index = "default";
|
index = "default";
|
||||||
save-position-on-quit = "yes";
|
save-position-on-quit = "yes";
|
||||||
script-opts = "ytdl_hook-ytdl_path=/etc/profiles/per-user/don/bin/yt-dlp";
|
script-opts =
|
||||||
|
"ytdl_hook-ytdl_path=/etc/profiles/per-user/don/bin/yt-dlp";
|
||||||
# scripts=[ pkgs.mpvScripts.autoload ];
|
# scripts=[ pkgs.mpvScripts.autoload ];
|
||||||
slang = "en";
|
slang = "en";
|
||||||
user-agent = "Mozilla/5.0";
|
user-agent = "Mozilla/5.0";
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ inputs, outputs, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.qutebrowser = {
|
programs.qutebrowser = {
|
||||||
enable = true;
|
enable = true;
|
||||||
loadAutoconfig = true;
|
loadAutoconfig = true;
|
||||||
|
|
@ -20,7 +15,8 @@
|
||||||
",j" = "spawn --userscript joplin-import";
|
",j" = "spawn --userscript joplin-import";
|
||||||
",l" = "spawn --userscript qute-bitwarden";
|
",l" = "spawn --userscript qute-bitwarden";
|
||||||
",m" = "spawn --userscript mymail";
|
",m" = "spawn --userscript mymail";
|
||||||
",n" = ''config-cycle content.user_stylesheets /home/don/src/solarized-everything-css/css/mine.css ""'';
|
",n" = ''
|
||||||
|
config-cycle content.user_stylesheets /home/don/src/solarized-everything-css/css/mine.css ""'';
|
||||||
",o" = "spawn --userscript obsidian-import";
|
",o" = "spawn --userscript obsidian-import";
|
||||||
",r" = "spawn --userscript recipe";
|
",r" = "spawn --userscript recipe";
|
||||||
",t" = "spawn --userscript qute-bitwarden --totp-only";
|
",t" = "spawn --userscript qute-bitwarden --totp-only";
|
||||||
|
|
@ -31,7 +27,8 @@
|
||||||
"gF" = "spawn --userscript openfeeds";
|
"gF" = "spawn --userscript openfeeds";
|
||||||
"xb" = "config-cycle statusbar.show always in-mode";
|
"xb" = "config-cycle statusbar.show always in-mode";
|
||||||
"xt" = "config-cycle tabs.show always switching";
|
"xt" = "config-cycle tabs.show always switching";
|
||||||
"xx" = "config-cycle statusbar.show always in-mode ;; config-cycle tabs.show always switching";
|
"xx" =
|
||||||
|
"config-cycle statusbar.show always in-mode ;; config-cycle tabs.show always switching";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
searchEngines = {
|
searchEngines = {
|
||||||
|
|
@ -51,7 +48,8 @@
|
||||||
buymusic2 = "https://www.hdtracks.com/";
|
buymusic2 = "https://www.hdtracks.com/";
|
||||||
cal = "https://cloud.trex-halfbeak.ts.net/apps/calendar/timeGridDay/now";
|
cal = "https://cloud.trex-halfbeak.ts.net/apps/calendar/timeGridDay/now";
|
||||||
canvas = "https://katyisd.instructure.com/login/ldap";
|
canvas = "https://katyisd.instructure.com/login/ldap";
|
||||||
centerpoint = "http://gis.centerpointenergy.com/outagetracker/?WT.ac=OC_Image_Callout";
|
centerpoint =
|
||||||
|
"http://gis.centerpointenergy.com/outagetracker/?WT.ac=OC_Image_Callout";
|
||||||
chase = "https://www.chase.com/";
|
chase = "https://www.chase.com/";
|
||||||
chromeos = "https://cros-updates-serving.appspot.com/";
|
chromeos = "https://cros-updates-serving.appspot.com/";
|
||||||
cloud = "https://cloud.trex-halfbeak.ts.net/apps/dashboard/";
|
cloud = "https://cloud.trex-halfbeak.ts.net/apps/dashboard/";
|
||||||
|
|
@ -61,7 +59,8 @@
|
||||||
cups = "http://localhost:631/printers/printer";
|
cups = "http://localhost:631/printers/printer";
|
||||||
darkroom = "https://thedarkroom.com/photodashboard/";
|
darkroom = "https://thedarkroom.com/photodashboard/";
|
||||||
disk = "https://smart.trex-halfbeak.ts.net/web/dashboard";
|
disk = "https://smart.trex-halfbeak.ts.net/web/dashboard";
|
||||||
driversed = "https://driving.aceable.com/teacher/log?studentId=I89fno2YEZo4hQ40";
|
driversed =
|
||||||
|
"https://driving.aceable.com/teacher/log?studentId=I89fno2YEZo4hQ40";
|
||||||
droplet = "https://cloud.digitalocean.com/droplets?i=a8b99f";
|
droplet = "https://cloud.digitalocean.com/droplets?i=a8b99f";
|
||||||
dtstyle = "https://dtstyle.net/";
|
dtstyle = "https://dtstyle.net/";
|
||||||
ercot = "https://www.ercot.com/gridmktinfo/dashboards";
|
ercot = "https://www.ercot.com/gridmktinfo/dashboards";
|
||||||
|
|
@ -69,28 +68,35 @@
|
||||||
flood = "https://www.harriscountyfws.org/";
|
flood = "https://www.harriscountyfws.org/";
|
||||||
gatus = "https://gatus.trex-halfbeak.ts.net/";
|
gatus = "https://gatus.trex-halfbeak.ts.net/";
|
||||||
gcal = "https://calendar.google.com/calendar/r";
|
gcal = "https://calendar.google.com/calendar/r";
|
||||||
gfamily = "https://familylink.google.com/member/112279402605706545724/highlights";
|
gfamily =
|
||||||
|
"https://familylink.google.com/member/112279402605706545724/highlights";
|
||||||
git = "https://git.trex-halfbeak.ts.net/?repo-search-query=m";
|
git = "https://git.trex-halfbeak.ts.net/?repo-search-query=m";
|
||||||
gmail = "https://mail.google.com/mail/u/0/?pli=1#inbox";
|
gmail = "https://mail.google.com/mail/u/0/?pli=1#inbox";
|
||||||
gmaps = "https://www.google.com/maps/";
|
gmaps = "https://www.google.com/maps/";
|
||||||
gmessages = "https://messages.google.com/web/conversations";
|
gmessages = "https://messages.google.com/web/conversations";
|
||||||
gphoto = "https://photos.google.com/";
|
gphoto = "https://photos.google.com/";
|
||||||
gvoice = "https://voice.google.com/u/0/calls";
|
gvoice = "https://voice.google.com/u/0/calls";
|
||||||
hac = "https://homeaccess.katyisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2FHomeAccess";
|
hac =
|
||||||
heb = "https://www.heb.com/collections/weekly-ad?customFilters=onAdFilter&shoppingStore=497&utm_source=1021275&utm_medium=email&utm_campaign=2023-11-24-weekly-ad&utm_content=weekly-ad-banner";
|
"https://homeaccess.katyisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2FHomeAccess";
|
||||||
|
heb =
|
||||||
|
"https://www.heb.com/collections/weekly-ad?customFilters=onAdFilter&shoppingStore=497&utm_source=1021275&utm_medium=email&utm_campaign=2023-11-24-weekly-ad&utm_content=weekly-ad-banner";
|
||||||
hetzner = "https://console.hetzner.cloud/projects";
|
hetzner = "https://console.hetzner.cloud/projects";
|
||||||
hometail = "http://homeassistant.tail:8123/lovelace-mine/default_view";
|
hometail = "http://homeassistant.tail:8123/lovelace-mine/default_view";
|
||||||
hurricane = "https://www.nhc.noaa.gov/";
|
hurricane = "https://www.nhc.noaa.gov/";
|
||||||
ice = "https://ice.home.duckland.org/";
|
ice = "https://ice.home.duckland.org/";
|
||||||
imdb = "https://www.imdb.com/";
|
imdb = "https://www.imdb.com/";
|
||||||
instapot-cook-times = "https://temeculablogs.com/instant-pot-cooking-times/";
|
instapot-cook-times =
|
||||||
jelly = "https://jellyfin.trex-halfbeak.ts.net/web/index.html#!/home.html";
|
"https://temeculablogs.com/instant-pot-cooking-times/";
|
||||||
|
jelly =
|
||||||
|
"https://jellyfin.trex-halfbeak.ts.net/web/index.html#!/home.html";
|
||||||
jellyreq = "https://jellyseerr.trex-halfbeak.ts.net/discover/trending";
|
jellyreq = "https://jellyseerr.trex-halfbeak.ts.net/discover/trending";
|
||||||
jzoom = "https://jpmchase.zoom.us/";
|
jzoom = "https://jpmchase.zoom.us/";
|
||||||
katy-bus = "https://busroutes.katyisd.org/wqsimweb/webquery/";
|
katy-bus = "https://busroutes.katyisd.org/wqsimweb/webquery/";
|
||||||
katy-bus-times = "https://busroutes.katyisd.org/wqsimweb/webquery/WebQueryRequestController?action=2&schoolcode=046&numofstops=1&schoolname=BECK+JUNIOR+HIGH&attendSchoolIndex=0#stops";
|
katy-bus-times =
|
||||||
|
"https://busroutes.katyisd.org/wqsimweb/webquery/WebQueryRequestController?action=2&schoolcode=046&numofstops=1&schoolname=BECK+JUNIOR+HIGH&attendSchoolIndex=0#stops";
|
||||||
katy-pay = "https://katyisd.revtrak.net/";
|
katy-pay = "https://katyisd.revtrak.net/";
|
||||||
kindle = "https://smile.amazon.com/mn/dcw/myx.html/ref=kinw_myk_redirect#/home/content/booksAll/dateDsc/";
|
kindle =
|
||||||
|
"https://smile.amazon.com/mn/dcw/myx.html/ref=kinw_myk_redirect#/home/content/booksAll/dateDsc/";
|
||||||
kindle-read = "https://www.amazon.com/kindle-dbs/ku/ku-central/";
|
kindle-read = "https://www.amazon.com/kindle-dbs/ku/ku-central/";
|
||||||
kisdcal = "https://www.katyisd.org/Page/2#calendar1/20230801/month";
|
kisdcal = "https://www.katyisd.org/Page/2#calendar1/20230801/month";
|
||||||
kroger = "https://www.kroger.com/weeklyad";
|
kroger = "https://www.kroger.com/weeklyad";
|
||||||
|
|
@ -112,16 +118,19 @@
|
||||||
nix-config = "https://nixos.org/manual/nixos/stable/options.html";
|
nix-config = "https://nixos.org/manual/nixos/stable/options.html";
|
||||||
nix-dev = "https://nix.dev/";
|
nix-dev = "https://nix.dev/";
|
||||||
nix-hardware = "https://github.com/duckunix/nixos-hardware";
|
nix-hardware = "https://github.com/duckunix/nixos-hardware";
|
||||||
nix-home-manual = "https://nix-community.github.io/home-manager/options.xhtml";
|
nix-home-manual =
|
||||||
|
"https://nix-community.github.io/home-manager/options.xhtml";
|
||||||
nix-manual = "https://nixos.org/manual/nixos/stable/index.html";
|
nix-manual = "https://nixos.org/manual/nixos/stable/index.html";
|
||||||
nix-options = "https://search.nixos.org/options?";
|
nix-options = "https://search.nixos.org/options?";
|
||||||
nix-package = "https://search.nixos.org/packages";
|
nix-package = "https://search.nixos.org/packages";
|
||||||
nix-up-software = "https://nix.dev/tutorials/learning-journey/packaging-existing-software";
|
nix-up-software =
|
||||||
|
"https://nix.dev/tutorials/learning-journey/packaging-existing-software";
|
||||||
nix-versions = "https://lazamar.co.uk/nix-versions/";
|
nix-versions = "https://lazamar.co.uk/nix-versions/";
|
||||||
nix-wiki = "https://nixos.wiki/";
|
nix-wiki = "https://nixos.wiki/";
|
||||||
ntop = "https://ice.home.duckland.org:3001/";
|
ntop = "https://ice.home.duckland.org:3001/";
|
||||||
octoprint = "http://octopi.tail/?#temp";
|
octoprint = "http://octopi.tail/?#temp";
|
||||||
orders = "https://www.amazon.com/gp/css/order-history?ref_=nav_orders_first";
|
orders =
|
||||||
|
"https://www.amazon.com/gp/css/order-history?ref_=nav_orders_first";
|
||||||
photos = "https://photos.trex-halfbeak.ts.net/";
|
photos = "https://photos.trex-halfbeak.ts.net/";
|
||||||
pi = "http://pihole.tail/admin/";
|
pi = "http://pihole.tail/admin/";
|
||||||
pinetab2-releases = "https://wiki.pine64.org/wiki/PineTab2_Releases";
|
pinetab2-releases = "https://wiki.pine64.org/wiki/PineTab2_Releases";
|
||||||
|
|
@ -135,7 +144,8 @@
|
||||||
smile = "https://www.amazon.com/";
|
smile = "https://www.amazon.com/";
|
||||||
spacecity = "https://spacecityweather.com/";
|
spacecity = "https://spacecityweather.com/";
|
||||||
sprouts = "https://www.sprouts.com/weekly-ad/";
|
sprouts = "https://www.sprouts.com/weekly-ad/";
|
||||||
star = "https://starpizzacinco.revelup.com/weborder/?establishment=1#index";
|
star =
|
||||||
|
"https://starpizzacinco.revelup.com/weborder/?establishment=1#index";
|
||||||
swayutil = "https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway";
|
swayutil = "https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway";
|
||||||
sync-dragon = "http://dragon.tail:8384/#";
|
sync-dragon = "http://dragon.tail:8384/#";
|
||||||
sync-eve = "http://eve.tail:8384/#";
|
sync-eve = "http://eve.tail:8384/#";
|
||||||
|
|
@ -160,7 +170,8 @@
|
||||||
vonage = "https://secure.vonage.com/account/login.html";
|
vonage = "https://secure.vonage.com/account/login.html";
|
||||||
vortexic = "https://vortexic-university.sparkuniversity.co/Courses.aspx";
|
vortexic = "https://vortexic-university.sparkuniversity.co/Courses.aspx";
|
||||||
waze = "https://www.waze.com/livemap";
|
waze = "https://www.waze.com/livemap";
|
||||||
weather = "https://merrysky.net/forecast/Cinco%20Ranch%20High%20School,%20Katy,%20%20TX/us";
|
weather =
|
||||||
|
"https://merrysky.net/forecast/Cinco%20Ranch%20High%20School,%20Katy,%20%20TX/us";
|
||||||
weather2 = "https://openweathermap.org/city/4681485";
|
weather2 = "https://openweathermap.org/city/4681485";
|
||||||
weather3 = "https://www.wunderground.com/weather/us/tx/katy/29.79,-95.82";
|
weather3 = "https://www.wunderground.com/weather/us/tx/katy/29.79,-95.82";
|
||||||
weather4 = "https://www.weatherbug.com/weather-forecast/now/";
|
weather4 = "https://www.weatherbug.com/weather-forecast/now/";
|
||||||
|
|
@ -180,9 +191,7 @@
|
||||||
#c.bindings = { key_mappings = ['<Ctrl+6>': '<Ctrl+^>' '<Ctrl+Enter>': '<Ctrl+Return>' '<Ctrl+j>': '<Return>' '<Ctrl+m>': '<Return>' '<Ctrl+[>': '<Escape>' '<Enter>': '<Return>' '<Shift+Enter>': '<Return>' '<Shift+Return>': '<Return>']}
|
#c.bindings = { key_mappings = ['<Ctrl+6>': '<Ctrl+^>' '<Ctrl+Enter>': '<Ctrl+Return>' '<Ctrl+j>': '<Return>' '<Ctrl+m>': '<Return>' '<Ctrl+[>': '<Escape>' '<Enter>': '<Return>' '<Shift+Enter>': '<Return>' '<Shift+Return>': '<Return>']}
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
auto_save = {
|
auto_save = { session = true; };
|
||||||
session = true;
|
|
||||||
};
|
|
||||||
#};
|
#};
|
||||||
colors = {
|
colors = {
|
||||||
webpage = {
|
webpage = {
|
||||||
|
|
@ -203,12 +212,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
completion = {
|
completion = {
|
||||||
open_categories = [
|
open_categories =
|
||||||
"quickmarks"
|
[ "quickmarks" "searchengines" "bookmarks" "history" ];
|
||||||
"searchengines"
|
|
||||||
"bookmarks"
|
|
||||||
"history"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
content = {
|
content = {
|
||||||
autoplay = false;
|
autoplay = false;
|
||||||
|
|
@ -223,66 +228,35 @@
|
||||||
enabled = true;
|
enabled = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
downloads = {
|
downloads = { prevent_mixed_content = true; };
|
||||||
prevent_mixed_content = true;
|
|
||||||
};
|
|
||||||
fileselect = {
|
fileselect = {
|
||||||
folder = {
|
folder = { command = [ "kitty" "-e" "ranger" "--choosedir={}" ]; };
|
||||||
command = [
|
|
||||||
"kitty"
|
|
||||||
"-e"
|
|
||||||
"ranger"
|
|
||||||
"--choosedir={}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
handler = "external";
|
handler = "external";
|
||||||
multiple_files = {
|
multiple_files = {
|
||||||
command = [
|
command = [ "kitty" "-e" "ranger" "--choosefile={}" ];
|
||||||
"kitty"
|
|
||||||
"-e"
|
|
||||||
"ranger"
|
|
||||||
"--choosefile={}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
single_file = {
|
single_file = {
|
||||||
command = [
|
command = [ "kitty" "-e" "ranger" "--choosefile={}" ];
|
||||||
"kitty"
|
|
||||||
"-e"
|
|
||||||
"ranger"
|
|
||||||
"--choosefile={}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
qt = {
|
qt = {
|
||||||
args = ["widevine-path=${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"];
|
args = [
|
||||||
workarounds = {
|
"widevine-path=${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
|
||||||
remove_service_workers = true;
|
];
|
||||||
};
|
workarounds = { remove_service_workers = true; };
|
||||||
};
|
|
||||||
spellcheck = {
|
|
||||||
languages = ["en-US"];
|
|
||||||
};
|
|
||||||
statusbar = {
|
|
||||||
show = "in-mode";
|
|
||||||
};
|
};
|
||||||
|
spellcheck = { languages = [ "en-US" ]; };
|
||||||
|
statusbar = { show = "in-mode"; };
|
||||||
tabs = {
|
tabs = {
|
||||||
favicons = {
|
favicons = { scale = 1; };
|
||||||
scale = 1;
|
indicator = { width = 1; };
|
||||||
};
|
|
||||||
indicator = {
|
|
||||||
width = 1;
|
|
||||||
};
|
|
||||||
mode_on_change = "restore";
|
mode_on_change = "restore";
|
||||||
position = "bottom";
|
position = "bottom";
|
||||||
select_on_remove = "next";
|
select_on_remove = "next";
|
||||||
show = "always";
|
show = "always";
|
||||||
title = {
|
title = { format = "{audio}{current_title}"; };
|
||||||
format = "{audio}{current_title}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
url = {
|
|
||||||
default_page = "about:blank";
|
|
||||||
};
|
};
|
||||||
|
url = { default_page = "about:blank"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home.file.qutebrowserlocal = {
|
home.file.qutebrowserlocal = {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.redshift = {
|
services.redshift = {
|
||||||
enable = true;
|
enable = true;
|
||||||
latitude = "29.74";
|
latitude = "29.74";
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
{...}: {
|
{ ... }: {
|
||||||
services = {
|
services = {
|
||||||
gnome-keyring = {
|
gnome-keyring = { enable = true; };
|
||||||
enable = true;
|
ssh-agent = { enable = true; };
|
||||||
};
|
|
||||||
ssh-agent = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,6 @@
|
||||||
{
|
{ inputs, pkgs, hostname, outputs, osConfig, ... }: {
|
||||||
inputs,
|
xdg.configFile."sway/config".source =
|
||||||
pkgs,
|
./files/sway/${osConfig.networking.hostName};
|
||||||
hostname,
|
|
||||||
outputs,
|
|
||||||
osConfig,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
xdg.configFile."sway/config".source = ./files/sway/${osConfig.networking.hostName};
|
|
||||||
xdg.configFile."waybar/weather.py".source = ./files/sway/weather.py;
|
xdg.configFile."waybar/weather.py".source = ./files/sway/weather.py;
|
||||||
xdg.configFile."waybar/weather.conf".source = ./files/sway/weather.conf;
|
xdg.configFile."waybar/weather.conf".source = ./files/sway/weather.conf;
|
||||||
|
|
||||||
|
|
@ -30,13 +24,9 @@
|
||||||
position = "top";
|
position = "top";
|
||||||
height = 10;
|
height = 10;
|
||||||
spacing = 0;
|
spacing = 0;
|
||||||
modules-left = [
|
modules-left =
|
||||||
"sway/workspaces"
|
[ "sway/workspaces" "sway/mode" "wlr/workspaces" "custom/mycal" ];
|
||||||
"sway/mode"
|
modules-center = [ ];
|
||||||
"wlr/workspaces"
|
|
||||||
"custom/mycal"
|
|
||||||
];
|
|
||||||
modules-center = [];
|
|
||||||
# modules-right = ["idle_inhibitor" "custom/mytimew" "pulseaudio" "custom/mymusic" "bluetooth" "network" "backlight" "battery" "battery#bat2" "tray" "custom/mycal" "clock"];
|
# modules-right = ["idle_inhibitor" "custom/mytimew" "pulseaudio" "custom/mymusic" "bluetooth" "network" "backlight" "battery" "battery#bat2" "tray" "custom/mycal" "clock"];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"idle_inhibitor"
|
"idle_inhibitor"
|
||||||
|
|
@ -89,12 +79,8 @@
|
||||||
on-click = "~/bin/control-music --pause";
|
on-click = "~/bin/control-music --pause";
|
||||||
interval = 5;
|
interval = 5;
|
||||||
};
|
};
|
||||||
"sway/window" = {
|
"sway/window" = { icon-size = 10; };
|
||||||
icon-size = 10;
|
"sway/mode" = { format = ''<span style="italic">{}</span>''; };
|
||||||
};
|
|
||||||
"sway/mode" = {
|
|
||||||
format = "<span style=\"italic\">{}</span>";
|
|
||||||
};
|
|
||||||
"idle_inhibitor" = {
|
"idle_inhibitor" = {
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
|
|
@ -107,7 +93,9 @@
|
||||||
spacing = 10;
|
spacing = 10;
|
||||||
};
|
};
|
||||||
clock = {
|
clock = {
|
||||||
tooltip-format = "<big>{:%Y %B %d}</big>\n<tt><small>{calendar}</small></tt>";
|
tooltip-format = ''
|
||||||
|
<big>{:%Y %B %d}</big>
|
||||||
|
<tt><small>{calendar}</small></tt>'';
|
||||||
format = "{:%I:%M %p}";
|
format = "{:%I:%M %p}";
|
||||||
format-alt = "{:%Y-%m-%d}";
|
format-alt = "{:%Y-%m-%d}";
|
||||||
on-click = "~/bin/mynewterm -e ikhal";
|
on-click = "~/bin/mynewterm -e ikhal";
|
||||||
|
|
@ -116,9 +104,7 @@
|
||||||
format = "cpu: {usage}%";
|
format = "cpu: {usage}%";
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
};
|
};
|
||||||
memory = {
|
memory = { format = "mem: {}%"; };
|
||||||
format = "mem: {}%";
|
|
||||||
};
|
|
||||||
temperature = {
|
temperature = {
|
||||||
critical-threshold = 80;
|
critical-threshold = 80;
|
||||||
format = "{temperatureC}°C {icon}";
|
format = "{temperatureC}°C {icon}";
|
||||||
|
|
@ -135,9 +121,7 @@
|
||||||
format-discharging = "d:{capacity}% {time}";
|
format-discharging = "d:{capacity}% {time}";
|
||||||
format-alt = "{time} {icon}";
|
format-alt = "{time} {icon}";
|
||||||
};
|
};
|
||||||
"battery#bat2" = {
|
"battery#bat2" = { bat = "BAT2"; };
|
||||||
bat = "BAT2";
|
|
||||||
};
|
|
||||||
network = {
|
network = {
|
||||||
format-wifi = "{essid} ({signalStrength}%)";
|
format-wifi = "{essid} ({signalStrength}%)";
|
||||||
format-ethernet = "{ipaddr}/{cidr}";
|
format-ethernet = "{ipaddr}/{cidr}";
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -16,19 +12,11 @@
|
||||||
};
|
};
|
||||||
programs.foot = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server = {
|
server = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
settings = {
|
settings = {
|
||||||
main = {
|
main = { term = "tmux-256color"; };
|
||||||
term = "tmux-256color";
|
mouse = { hide-when-typing = "yes"; };
|
||||||
};
|
bell = { urgent = "yes"; };
|
||||||
mouse = {
|
|
||||||
hide-when-typing = "yes";
|
|
||||||
};
|
|
||||||
bell = {
|
|
||||||
urgent = "yes";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,15 @@
|
||||||
{
|
{ config, pkgs, inputs, ... }: {
|
||||||
config,
|
home.packages = with pkgs;
|
||||||
pkgs,
|
[
|
||||||
inputs,
|
(pkgs.citrix_workspace.override {
|
||||||
...
|
libvorbis = pkgs.libvorbis.override {
|
||||||
}: {
|
libogg = pkgs.libogg.overrideAttrs (prevAttrs: {
|
||||||
home.packages = with pkgs; [
|
cmakeFlags = (prevAttrs.cmakeFlags or [ ])
|
||||||
(pkgs.citrix_workspace.override {
|
++ [ (lib.cmakeBool "BUILD_SHARED_LIBS" true) ];
|
||||||
libvorbis = pkgs.libvorbis.override {
|
});
|
||||||
libogg = pkgs.libogg.overrideAttrs (prevAttrs: {
|
};
|
||||||
cmakeFlags =
|
})
|
||||||
(prevAttrs.cmakeFlags or [])
|
];
|
||||||
++ [
|
|
||||||
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
|
||||||
];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
home.file."ICAClient" = {
|
home.file."ICAClient" = {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ./files/citrix;
|
source = ./files/citrix;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,3 @@
|
||||||
{
|
{ pkgs, inputs, ... }: {
|
||||||
pkgs,
|
home-manager.users.don = { imports = [ ./citrix.nix ./zoom.nix ]; };
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home-manager.users.don = {
|
|
||||||
imports = [
|
|
||||||
./citrix.nix
|
|
||||||
./zoom.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{ config, pkgs, ... }: {
|
||||||
config,
|
home.packages = with pkgs; [ zoom-us ];
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home.packages = with pkgs; [zoom-us];
|
|
||||||
# xdg = {
|
# xdg = {
|
||||||
# configFile."zoom.conf".source = files/zoom.conf;
|
# configFile."zoom.conf".source = files/zoom.conf;
|
||||||
# configFile."zoomus.conf".source = files/zoomus.conf;
|
# configFile."zoomus.conf".source = files/zoomus.conf;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
deployment = { tags = [ "workstation" "intel" ]; };
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
|
||||||
tags = ["workstation" "intel"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
# ../disko/mmcblk.nix
|
# ../disko/mmcblk.nix
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,13 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" ];
|
||||||
"xhci_pci"
|
boot.initrd.kernelModules = [ ];
|
||||||
"ahci"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"uas"
|
boot.extraModulePackages = [ ];
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/sda2";
|
device = "/dev/sda2";
|
||||||
|
|
@ -32,9 +19,7 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [{ device = "/dev/sda3"; }];
|
||||||
{device = "/dev/sda3";}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -45,5 +30,6 @@
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk = {
|
disk = {
|
||||||
vdb = {
|
vdb = {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ inputs, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"xhci_pci"
|
[ "xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
"ehci_pci"
|
boot.initrd.kernelModules = [ ];
|
||||||
"ahci"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"sd_mod"
|
boot.extraModulePackages = [ ];
|
||||||
"rtsx_pci_sdmmc"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
|
device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
|
||||||
|
|
@ -33,9 +20,8 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices =
|
||||||
{device = "/dev/disk/by-uuid/843421e5-cb74-4c43-b88d-5053e7f7dec4";}
|
[{ device = "/dev/disk/by-uuid/843421e5-cb74-4c43-b88d-5053e7f7dec4"; }];
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -47,5 +33,6 @@
|
||||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
deployment = { tags = [ "workstation" "intel" ]; };
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
|
||||||
tags = ["workstation" "intel"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.google-pixelbook
|
inputs.nixos-hardware.nixosModules.google-pixelbook
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"xhci_pci"
|
[ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
||||||
"usb_storage"
|
boot.initrd.kernelModules = [ ];
|
||||||
"usbhid"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"sd_mod"
|
boot.extraModulePackages = [ ];
|
||||||
"sdhci_pci"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/mmcblk0p2";
|
device = "/dev/mmcblk0p2";
|
||||||
|
|
@ -46,5 +33,6 @@
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ config, pkgs, lib, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
boot.kernelPatches = lib.singleton {
|
boot.kernelPatches = lib.singleton {
|
||||||
name = "eve-config";
|
name = "eve-config";
|
||||||
patch = null;
|
patch = null;
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
deployment = { tags = [ "server" "intel" ]; };
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
|
||||||
tags = ["server" "intel"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../server
|
../server
|
||||||
|
|
@ -16,11 +9,9 @@
|
||||||
];
|
];
|
||||||
networking.hostName = "fred";
|
networking.hostName = "fred";
|
||||||
boot = {
|
boot = {
|
||||||
binfmt.emulatedSystems = ["aarch64-linux"];
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot = {
|
systemd-boot = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
efiSysMountPoint = "/boot";
|
efiSysMountPoint = "/boot";
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
# Auto-generated using compose2nix v0.1.6.
|
# Auto-generated using compose2nix v0.1.6.
|
||||||
{
|
{ config, lib, ... }: {
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Runtime
|
# Runtime
|
||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"xhci_pci"
|
[ "xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod" ];
|
||||||
"ehci_pci"
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
"ahci"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"usbhid"
|
boot.extraModulePackages = [ ];
|
||||||
"ums_realtek"
|
|
||||||
"sd_mod"
|
|
||||||
"sr_mod"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = ["dm-snapshot"];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
|
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
|
||||||
|
|
@ -35,7 +20,7 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -45,5 +30,6 @@
|
||||||
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
# Auto-generated using compose2nix v0.1.6.
|
# Auto-generated using compose2nix v0.1.6.
|
||||||
{
|
{ pkgs, lib, ... }: {
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Runtime
|
# Runtime
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -35,29 +31,16 @@
|
||||||
"/home/don/docker/speedtest/config:/config:rw"
|
"/home/don/docker/speedtest/config:/config:rw"
|
||||||
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
||||||
];
|
];
|
||||||
dependsOn = [
|
dependsOn = [ "bandwidth-db" "bandwidth-ts" ];
|
||||||
"bandwidth-db"
|
|
||||||
"bandwidth-ts"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network=container:bandwidth-ts" ];
|
||||||
"--network=container:bandwidth-ts"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth" = {
|
systemd.services."podman-bandwidth" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
unitConfig.UpheldBy =
|
||||||
partOf = [
|
[ "podman-bandwidth-db.service" "podman-bandwidth-ts.service" ];
|
||||||
"podman-compose-tstest-root.target"
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
];
|
|
||||||
unitConfig.UpheldBy = [
|
|
||||||
"podman-bandwidth-db.service"
|
|
||||||
"podman-bandwidth-ts.service"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."bandwidth-db" = {
|
virtualisation.oci-containers.containers."bandwidth-db" = {
|
||||||
image = "mariadb:10";
|
image = "mariadb:10";
|
||||||
|
|
@ -69,30 +52,16 @@
|
||||||
PGID = "1000";
|
PGID = "1000";
|
||||||
PUID = "1000";
|
PUID = "1000";
|
||||||
};
|
};
|
||||||
volumes = [
|
volumes = [ "/home/don/docker/speedtest-db:/var/lib/mysql:rw" ];
|
||||||
"/home/don/docker/speedtest-db:/var/lib/mysql:rw"
|
dependsOn = [ "bandwidth-ts" ];
|
||||||
];
|
|
||||||
dependsOn = [
|
|
||||||
"bandwidth-ts"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network=container:bandwidth-ts" ];
|
||||||
"--network=container:bandwidth-ts"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth-db" = {
|
systemd.services."podman-bandwidth-db" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
unitConfig.UpheldBy = [ "podman-bandwidth-ts.service" ];
|
||||||
partOf = [
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
unitConfig.UpheldBy = [
|
|
||||||
"podman-bandwidth-ts.service"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."bandwidth-ts" = {
|
virtualisation.oci-containers.containers."bandwidth-ts" = {
|
||||||
image = "tailscale/tailscale";
|
image = "tailscale/tailscale";
|
||||||
|
|
@ -108,7 +77,7 @@
|
||||||
"/dev/net/tun:/dev/net/tun:rw"
|
"/dev/net/tun:/dev/net/tun:rw"
|
||||||
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
|
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
|
||||||
];
|
];
|
||||||
cmd = ["tailscaled"];
|
cmd = [ "tailscaled" ];
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
"--cap-add=net_admin"
|
"--cap-add=net_admin"
|
||||||
|
|
@ -119,26 +88,16 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth-ts" = {
|
systemd.services."podman-bandwidth-ts" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "no"; };
|
||||||
Restart = lib.mkOverride 500 "no";
|
after = [ "podman-network-tstest-default.service" ];
|
||||||
};
|
requires = [ "podman-network-tstest-default.service" ];
|
||||||
after = [
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
"podman-network-tstest-default.service"
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
];
|
|
||||||
requires = [
|
|
||||||
"podman-network-tstest-default.service"
|
|
||||||
];
|
|
||||||
partOf = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Networks
|
# Networks
|
||||||
systemd.services."podman-network-tstest-default" = {
|
systemd.services."podman-network-tstest-default" = {
|
||||||
path = [pkgs.podman];
|
path = [ pkgs.podman ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -147,17 +106,15 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
|
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
|
||||||
'';
|
'';
|
||||||
partOf = ["podman-compose-tstest-root.target"];
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
wantedBy = ["podman-compose-tstest-root.target"];
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Root service
|
# Root service
|
||||||
# When started, this will automatically create all resources and start
|
# When started, this will automatically create all resources and start
|
||||||
# the containers. When stopped, this will teardown all resources.
|
# the containers. When stopped, this will teardown all resources.
|
||||||
systemd.targets."podman-compose-tstest-root" = {
|
systemd.targets."podman-compose-tstest-root" = {
|
||||||
unitConfig = {
|
unitConfig = { Description = "Root target generated by compose2nix."; };
|
||||||
Description = "Root target generated by compose2nix.";
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
|
||||||
wantedBy = ["multi-user.target"];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../../server ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../server
|
|
||||||
];
|
|
||||||
networking.hostName = "harper";
|
networking.hostName = "harper";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../../server ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../server
|
|
||||||
];
|
|
||||||
networking.hostName = "harper2";
|
networking.hostName = "harper2";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,8 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
|
||||||
deployment = {
|
deployment = {
|
||||||
tags = ["workstation" "intel"];
|
tags = [ "workstation" "intel" ];
|
||||||
allowLocalDeployment = true;
|
allowLocalDeployment = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
|
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"xhci_pci"
|
[ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
"thunderbolt"
|
boot.initrd.kernelModules = [ ];
|
||||||
"nvme"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"uas"
|
boot.extraModulePackages = [ ];
|
||||||
"sd_mod"
|
|
||||||
"rtsx_pci_sdmmc"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/nvme0n1p2";
|
device = "/dev/nvme0n1p2";
|
||||||
|
|
@ -47,5 +33,6 @@
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1 @@
|
||||||
{
|
{ config, pkgs, ... }: { boot.kernelModules = [ "axge" "ax88179_178a" ]; }
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
boot.kernelModules = [
|
|
||||||
"axge"
|
|
||||||
"ax88179_178a"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../../server ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../server
|
|
||||||
];
|
|
||||||
networking.hostName = "nuwww";
|
networking.hostName = "nuwww";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,7 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
deployment = {
|
||||||
targetHost = "nixos";
|
targetHost = "nixos";
|
||||||
tags = ["arm"];
|
tags = [ "arm" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../server ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../server
|
|
||||||
];
|
|
||||||
networking.hostName = "pi1";
|
networking.hostName = "pi1";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,13 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [];
|
boot.initrd.availableKernelModules = [ ];
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [ ];
|
||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
|
|
@ -24,7 +16,7 @@
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../../server ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../../server
|
|
||||||
];
|
|
||||||
networking.hostName = "pihole";
|
networking.hostName = "pihole";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
deployment = { tags = [ "intel" ]; };
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
|
||||||
tags = ["intel"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ inputs, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"xhci_pci"
|
[ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
||||||
"usb_storage"
|
boot.initrd.kernelModules = [ ];
|
||||||
"usbhid"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"sd_mod"
|
boot.extraModulePackages = [ ];
|
||||||
"sdhci_pci"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
|
device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
|
||||||
|
|
@ -43,5 +30,6 @@
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||||
inputs,
|
let
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
my-python-packages = python-packages:
|
my-python-packages = python-packages:
|
||||||
with python-packages; [
|
with python-packages; [
|
||||||
pip
|
pip
|
||||||
|
|
@ -18,16 +12,10 @@
|
||||||
in {
|
in {
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
trusted-users = [
|
trusted-users = [ "root" "don" ];
|
||||||
"root"
|
|
||||||
"don"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|
@ -35,12 +23,7 @@ in {
|
||||||
options = "--delete-older-than 7d";
|
options = "--delete-older-than 7d";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [ ../../home ./systemd.nix ./tailscale.nix ./upgrade-diff.nix ];
|
||||||
../../home
|
|
||||||
./systemd.nix
|
|
||||||
./tailscale.nix
|
|
||||||
./upgrade-diff.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
@ -59,17 +42,14 @@ in {
|
||||||
inputMethod = {
|
inputMethod = {
|
||||||
enable = true;
|
enable = true;
|
||||||
type = "fcitx5";
|
type = "fcitx5";
|
||||||
fcitx5.addons = with pkgs; [
|
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-gtk ];
|
||||||
fcitx5-mozc
|
|
||||||
fcitx5-gtk
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
kernelParams = ["consoleblank=60"];
|
kernelParams = [ "consoleblank=60" ];
|
||||||
#loader = {
|
#loader = {
|
||||||
#systemd-boot = {
|
#systemd-boot = {
|
||||||
#enable = true;
|
#enable = true;
|
||||||
|
|
@ -79,53 +59,33 @@ in {
|
||||||
#efiSysMountPoint = "/boot";
|
#efiSysMountPoint = "/boot";
|
||||||
#};
|
#};
|
||||||
#};
|
#};
|
||||||
plymouth = {
|
plymouth = { enable = true; };
|
||||||
enable = true;
|
kernel = { sysctl = { "vm.swappiness" = 10; }; };
|
||||||
};
|
|
||||||
kernel = {
|
|
||||||
sysctl = {
|
|
||||||
"vm.swappiness" = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
polkit = {
|
polkit = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
sudo.enable = false;
|
sudo.enable = false;
|
||||||
doas = {
|
doas = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [
|
extraRules = [{
|
||||||
{
|
users = [ "don" ];
|
||||||
users = ["don"];
|
keepEnv = true;
|
||||||
keepEnv = true;
|
noPass = true;
|
||||||
noPass = true;
|
}];
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
pcscd = {
|
pcscd = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
};
|
};
|
||||||
printing = {
|
printing = { enable = true; };
|
||||||
enable = true;
|
udisks2 = { enable = true; };
|
||||||
};
|
nscd = { enableNsncd = true; };
|
||||||
udisks2 = {
|
tailscale = { enable = true; };
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
nscd = {
|
|
||||||
enableNsncd = true;
|
|
||||||
};
|
|
||||||
tailscale = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
locate = {
|
locate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.mlocate;
|
package = pkgs.mlocate;
|
||||||
|
|
@ -206,12 +166,8 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
dconf = {
|
dconf = { enable = true; };
|
||||||
enable = true;
|
mtr = { enable = true; };
|
||||||
};
|
|
||||||
mtr = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
gnupg = {
|
gnupg = {
|
||||||
agent = {
|
agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -223,9 +179,7 @@ in {
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: super: {
|
(final: super: {
|
||||||
khal = super.khal.overridePythonAttrs (_: {
|
khal = super.khal.overridePythonAttrs (_: { doCheck = false; });
|
||||||
doCheck = false;
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -233,45 +187,33 @@ in {
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# always allow traffic from your Tailscale network
|
# always allow traffic from your Tailscale network
|
||||||
trustedInterfaces = ["tailscale0"];
|
trustedInterfaces = [ "tailscale0" ];
|
||||||
checkReversePath = "loose";
|
checkReversePath = "loose";
|
||||||
|
|
||||||
# allow the Tailscale UDP port through the firewall
|
# allow the Tailscale UDP port through the firewall
|
||||||
allowedUDPPorts = [config.services.tailscale.port];
|
allowedUDPPorts = [ config.services.tailscale.port ];
|
||||||
allowedTCPPortRanges = [
|
allowedTCPPortRanges = [{
|
||||||
{
|
from = 1714;
|
||||||
from = 1714;
|
to = 1764;
|
||||||
to = 1764;
|
}];
|
||||||
}
|
allowedUDPPortRanges = [{
|
||||||
];
|
from = 1714;
|
||||||
allowedUDPPortRanges = [
|
to = 1764;
|
||||||
{
|
}];
|
||||||
from = 1714;
|
|
||||||
to = 1764;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# allow you to SSH in over the public internet
|
# allow you to SSH in over the public internet
|
||||||
allowedTCPPorts = [22];
|
allowedTCPPorts = [ 22 ];
|
||||||
interfaces = {
|
interfaces = {
|
||||||
"tailscale0" = {
|
"tailscale0" = {
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [ 22 8080 8443 ];
|
||||||
22
|
allowedTCPPortRanges = [{
|
||||||
8080
|
from = 1714;
|
||||||
8443
|
to = 1764;
|
||||||
];
|
}];
|
||||||
allowedTCPPortRanges = [
|
allowedUDPPortRanges = [{
|
||||||
{
|
from = 1714;
|
||||||
from = 1714;
|
to = 1764;
|
||||||
to = 1764;
|
}];
|
||||||
}
|
|
||||||
];
|
|
||||||
allowedUDPPortRanges = [
|
|
||||||
{
|
|
||||||
from = 1714;
|
|
||||||
to = 1764;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,5 @@
|
||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
environment.systemPackages = with pkgs; [ searxng ];
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
searxng
|
|
||||||
];
|
|
||||||
services.searx = {
|
services.searx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
{pkgs, ...}: let
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
readlink = "${pkgs.coreutils}/bin/readlink";
|
readlink = "${pkgs.coreutils}/bin/readlink";
|
||||||
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||||
in {
|
in {
|
||||||
|
|
@ -6,7 +7,7 @@ in {
|
||||||
services = {
|
services = {
|
||||||
clean-keychain = {
|
clean-keychain = {
|
||||||
description = "Clean up .keychain on boot";
|
description = "Clean up .keychain on boot";
|
||||||
wantedBy = ["multi-user.target"];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
|
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
|
||||||
|
|
@ -26,15 +27,13 @@ in {
|
||||||
${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade."
|
${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade."
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = { Type = "oneshot"; };
|
||||||
Type = "oneshot";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
timers = {
|
timers = {
|
||||||
detect-reboot-for-upgrade = {
|
detect-reboot-for-upgrade = {
|
||||||
wantedBy = ["timers.target"];
|
wantedBy = [ "timers.target" ];
|
||||||
partOf = ["detect-reboot-for-upgrade.service"];
|
partOf = [ "detect-reboot-for-upgrade.service" ];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnCalendar = "hourly";
|
OnCalendar = "hourly";
|
||||||
Unit = "detect-reboot-for-upgrade.service";
|
Unit = "detect-reboot-for-upgrade.service";
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,12 +1,6 @@
|
||||||
{
|
{ pkgs, config, ... }: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [ "unifi-controller" ];
|
||||||
"unifi-controller"
|
|
||||||
];
|
|
||||||
services = {
|
services = {
|
||||||
unifi = {
|
unifi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
system.activationScripts.diff = {
|
system.activationScripts.diff = {
|
||||||
supportsDryActivation = true;
|
supportsDryActivation = true;
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,7 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
deployment = {
|
||||||
tags = ["workstation" "intel"];
|
tags = [ "workstation" "intel" ];
|
||||||
allowLocalDeployment = true;
|
allowLocalDeployment = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc"];
|
boot.initrd.availableKernelModules =
|
||||||
boot.initrd.kernelModules = ["dm-snapshot"];
|
[ "xhci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
boot.extraModulePackages = [];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/c871ca4a-fb86-4631-b3bd-105931c5f373";
|
device = "/dev/disk/by-uuid/c871ca4a-fb86-4631-b3bd-105931c5f373";
|
||||||
|
|
@ -25,10 +18,10 @@
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/55CA-7FD8";
|
device = "/dev/disk/by-uuid/55CA-7FD8";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0022" "dmask=0022"];
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -39,5 +32,6 @@
|
||||||
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
# Auto-generated using compose2nix v0.1.6.
|
# Auto-generated using compose2nix v0.1.6.
|
||||||
{
|
{ pkgs, lib, ... }: {
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Runtime
|
# Runtime
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -25,31 +21,16 @@
|
||||||
MARIADB_RANDOM_ROOT_PASSWORD = "true";
|
MARIADB_RANDOM_ROOT_PASSWORD = "true";
|
||||||
MARIADB_USER = "speedy";
|
MARIADB_USER = "speedy";
|
||||||
};
|
};
|
||||||
volumes = [
|
volumes = [ "/home/don/docker/speedtest-db:/var/lib/mysql:rw" ];
|
||||||
"/home/don/docker/speedtest-db:/var/lib/mysql:rw"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network-alias=db" "--network=speedtest-default" ];
|
||||||
"--network-alias=db"
|
|
||||||
"--network=speedtest-default"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-speedtest-db" = {
|
systemd.services."podman-speedtest-db" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
after = [ "podman-network-speedtest-default.service" ];
|
||||||
};
|
requires = [ "podman-network-speedtest-default.service" ];
|
||||||
after = [
|
partOf = [ "podman-compose-speedtest-root.target" ];
|
||||||
"podman-network-speedtest-default.service"
|
wantedBy = [ "podman-compose-speedtest-root.target" ];
|
||||||
];
|
|
||||||
requires = [
|
|
||||||
"podman-network-speedtest-default.service"
|
|
||||||
];
|
|
||||||
partOf = [
|
|
||||||
"podman-compose-speedtest-root.target"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-speedtest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."speedtest-tracker" = {
|
virtualisation.oci-containers.containers."speedtest-tracker" = {
|
||||||
image = "ghcr.io/alexjustesen/speedtest-tracker:latest";
|
image = "ghcr.io/alexjustesen/speedtest-tracker:latest";
|
||||||
|
|
@ -69,40 +50,23 @@
|
||||||
"/home/don/docker/speedtest/config:/config:rw"
|
"/home/don/docker/speedtest/config:/config:rw"
|
||||||
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
||||||
];
|
];
|
||||||
ports = [
|
ports = [ "8080:80/tcp" "8443:443/tcp" ];
|
||||||
"8080:80/tcp"
|
dependsOn = [ "speedtest-db" ];
|
||||||
"8443:443/tcp"
|
|
||||||
];
|
|
||||||
dependsOn = [
|
|
||||||
"speedtest-db"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions =
|
||||||
"--network-alias=speedtest-tracker"
|
[ "--network-alias=speedtest-tracker" "--network=speedtest-default" ];
|
||||||
"--network=speedtest-default"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-speedtest-tracker" = {
|
systemd.services."podman-speedtest-tracker" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
after = [ "podman-network-speedtest-default.service" ];
|
||||||
};
|
requires = [ "podman-network-speedtest-default.service" ];
|
||||||
after = [
|
partOf = [ "podman-compose-speedtest-root.target" ];
|
||||||
"podman-network-speedtest-default.service"
|
wantedBy = [ "podman-compose-speedtest-root.target" ];
|
||||||
];
|
|
||||||
requires = [
|
|
||||||
"podman-network-speedtest-default.service"
|
|
||||||
];
|
|
||||||
partOf = [
|
|
||||||
"podman-compose-speedtest-root.target"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-speedtest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Networks
|
# Networks
|
||||||
systemd.services."podman-network-speedtest-default" = {
|
systemd.services."podman-network-speedtest-default" = {
|
||||||
path = [pkgs.podman];
|
path = [ pkgs.podman ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -111,17 +75,15 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman network inspect speedtest-default || podman network create speedtest-default --opt isolate=true
|
podman network inspect speedtest-default || podman network create speedtest-default --opt isolate=true
|
||||||
'';
|
'';
|
||||||
partOf = ["podman-compose-speedtest-root.target"];
|
partOf = [ "podman-compose-speedtest-root.target" ];
|
||||||
wantedBy = ["podman-compose-speedtest-root.target"];
|
wantedBy = [ "podman-compose-speedtest-root.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Root service
|
# Root service
|
||||||
# When started, this will automatically create all resources and start
|
# When started, this will automatically create all resources and start
|
||||||
# the containers. When stopped, this will teardown all resources.
|
# the containers. When stopped, this will teardown all resources.
|
||||||
systemd.targets."podman-compose-speedtest-root" = {
|
systemd.targets."podman-compose-speedtest-root" = {
|
||||||
unitConfig = {
|
unitConfig = { Description = "Root target generated by compose2nix."; };
|
||||||
Description = "Root target generated by compose2nix.";
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
|
||||||
wantedBy = ["multi-user.target"];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
deployment = { tags = [ "arm" ]; };
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
|
||||||
tags = ["arm"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../workstation ../wm ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../workstation
|
|
||||||
../wm
|
|
||||||
];
|
|
||||||
networking.hostName = "t2";
|
networking.hostName = "t2";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,20 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [];
|
boot.initrd.availableKernelModules = [ ];
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [];
|
boot.kernelModules = [ ];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/mmcblk0p2";
|
device = "/dev/mmcblk0p2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ../server ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
../server
|
|
||||||
];
|
|
||||||
networking.hostName = "vm";
|
networking.hostName = "vm";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"ahci"
|
[ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||||
"xhci_pci"
|
boot.initrd.kernelModules = [ ];
|
||||||
"virtio_pci"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"sr_mod"
|
boot.extraModulePackages = [ ];
|
||||||
"virtio_blk"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/vda3";
|
device = "/dev/vda3";
|
||||||
|
|
@ -33,9 +20,7 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [{ device = "/dev/vda2"; }];
|
||||||
{device = "/dev/vda2";}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -45,5 +30,6 @@
|
||||||
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./hardware-configuration.nix ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
networking.hostName = "vm1";
|
networking.hostName = "vm1";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
boot.initrd.availableKernelModules =
|
||||||
"ahci"
|
[ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||||
"xhci_pci"
|
boot.initrd.kernelModules = [ ];
|
||||||
"virtio_pci"
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
"sr_mod"
|
boot.extraModulePackages = [ ];
|
||||||
"virtio_blk"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/vda3";
|
device = "/dev/vda3";
|
||||||
|
|
@ -33,9 +20,7 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [{ device = "/dev/vda2"; }];
|
||||||
{device = "/dev/vda2";}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
@ -45,5 +30,6 @@
|
||||||
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
deployment = { tags = [ "server" "intel" "vps" "web" ]; };
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
|
||||||
tags = ["server" "intel" "vps" "web"];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
|
|
@ -15,8 +8,9 @@
|
||||||
networking.hostName = "w1";
|
networking.hostName = "w1";
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
|
availableKernelModules =
|
||||||
kernelModules = ["nvme"];
|
[ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ];
|
||||||
|
kernelModules = [ "nvme" ];
|
||||||
};
|
};
|
||||||
loader = {
|
loader = {
|
||||||
grub = {
|
grub = {
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
|
boot.initrd.availableKernelModules =
|
||||||
boot.initrd.kernelModules = ["dm-snapshot"];
|
[ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
boot.kernelModules = [];
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
boot.extraModulePackages = [];
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/sda1";
|
device = "/dev/sda1";
|
||||||
|
|
@ -25,10 +18,10 @@
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/sda15";
|
device = "/dev/sda15";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0022" "dmask=0022"];
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
{lib, ...}: {
|
{ lib, ... }: {
|
||||||
# This file was populated at runtime with the networking
|
# This file was populated at runtime with the networking
|
||||||
# details gathered from the active system.
|
# details gathered from the active system.
|
||||||
networking = {
|
networking = {
|
||||||
nameservers = [
|
nameservers = [ "1.1.1.1" ];
|
||||||
"1.1.1.1"
|
|
||||||
];
|
|
||||||
defaultGateway = "172.31.1.1";
|
defaultGateway = "172.31.1.1";
|
||||||
defaultGateway6 = {
|
defaultGateway6 = {
|
||||||
address = "fe80::1";
|
address = "fe80::1";
|
||||||
|
|
@ -14,12 +12,10 @@
|
||||||
usePredictableInterfaceNames = lib.mkForce false;
|
usePredictableInterfaceNames = lib.mkForce false;
|
||||||
interfaces = {
|
interfaces = {
|
||||||
eth0 = {
|
eth0 = {
|
||||||
ipv4.addresses = [
|
ipv4.addresses = [{
|
||||||
{
|
address = "5.161.104.185";
|
||||||
address = "5.161.104.185";
|
prefixLength = 32;
|
||||||
prefixLength = 32;
|
}];
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = [
|
ipv6.addresses = [
|
||||||
{
|
{
|
||||||
address = "2a01:4ff:f0:c3e0::1";
|
address = "2a01:4ff:f0:c3e0::1";
|
||||||
|
|
@ -30,18 +26,14 @@
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
ipv4.routes = [
|
ipv4.routes = [{
|
||||||
{
|
address = "172.31.1.1";
|
||||||
address = "172.31.1.1";
|
prefixLength = 32;
|
||||||
prefixLength = 32;
|
}];
|
||||||
}
|
ipv6.routes = [{
|
||||||
];
|
address = "fe80::1";
|
||||||
ipv6.routes = [
|
prefixLength = 128;
|
||||||
{
|
}];
|
||||||
address = "fe80::1";
|
|
||||||
prefixLength = 128;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
# Auto-generated using compose2nix v0.1.6.
|
# Auto-generated using compose2nix v0.1.6.
|
||||||
{
|
{ pkgs, lib, ... }: {
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Runtime
|
# Runtime
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -35,29 +31,16 @@
|
||||||
"/home/don/docker/speedtest/config:/config:rw"
|
"/home/don/docker/speedtest/config:/config:rw"
|
||||||
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
||||||
];
|
];
|
||||||
dependsOn = [
|
dependsOn = [ "bandwidth-db" "bandwidth-ts" ];
|
||||||
"bandwidth-db"
|
|
||||||
"bandwidth-ts"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network=container:bandwidth-ts" ];
|
||||||
"--network=container:bandwidth-ts"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth" = {
|
systemd.services."podman-bandwidth" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
unitConfig.UpheldBy =
|
||||||
partOf = [
|
[ "podman-bandwidth-db.service" "podman-bandwidth-ts.service" ];
|
||||||
"podman-compose-tstest-root.target"
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
];
|
|
||||||
unitConfig.UpheldBy = [
|
|
||||||
"podman-bandwidth-db.service"
|
|
||||||
"podman-bandwidth-ts.service"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."bandwidth-db" = {
|
virtualisation.oci-containers.containers."bandwidth-db" = {
|
||||||
image = "mariadb:10";
|
image = "mariadb:10";
|
||||||
|
|
@ -69,30 +52,16 @@
|
||||||
PGID = "1000";
|
PGID = "1000";
|
||||||
PUID = "1000";
|
PUID = "1000";
|
||||||
};
|
};
|
||||||
volumes = [
|
volumes = [ "/home/don/docker/speedtest-db:/var/lib/mysql:rw" ];
|
||||||
"/home/don/docker/speedtest-db:/var/lib/mysql:rw"
|
dependsOn = [ "bandwidth-ts" ];
|
||||||
];
|
|
||||||
dependsOn = [
|
|
||||||
"bandwidth-ts"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network=container:bandwidth-ts" ];
|
||||||
"--network=container:bandwidth-ts"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth-db" = {
|
systemd.services."podman-bandwidth-db" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
unitConfig.UpheldBy = [ "podman-bandwidth-ts.service" ];
|
||||||
partOf = [
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
unitConfig.UpheldBy = [
|
|
||||||
"podman-bandwidth-ts.service"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."bandwidth-ts" = {
|
virtualisation.oci-containers.containers."bandwidth-ts" = {
|
||||||
image = "tailscale/tailscale";
|
image = "tailscale/tailscale";
|
||||||
|
|
@ -100,7 +69,8 @@
|
||||||
PGID = "1000";
|
PGID = "1000";
|
||||||
PUID = "1000";
|
PUID = "1000";
|
||||||
TS_ACCEPT_DNS = "true";
|
TS_ACCEPT_DNS = "true";
|
||||||
TS_AUTHKEY = "tskey-auth-k6qutwuAk221CNTRL-9L2MS7sw2SVtH2kYKCcVNVsUHKYSX5UjH";
|
TS_AUTHKEY =
|
||||||
|
"tskey-auth-k6qutwuAk221CNTRL-9L2MS7sw2SVtH2kYKCcVNVsUHKYSX5UjH";
|
||||||
TS_HOSTNAME = "fred-bw";
|
TS_HOSTNAME = "fred-bw";
|
||||||
TS_STATE_DIR = "/var/lib/tailscale";
|
TS_STATE_DIR = "/var/lib/tailscale";
|
||||||
};
|
};
|
||||||
|
|
@ -108,7 +78,7 @@
|
||||||
"/dev/net/tun:/dev/net/tun:rw"
|
"/dev/net/tun:/dev/net/tun:rw"
|
||||||
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
|
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
|
||||||
];
|
];
|
||||||
cmd = ["tailscaled"];
|
cmd = [ "tailscaled" ];
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
"--cap-add=net_admin"
|
"--cap-add=net_admin"
|
||||||
|
|
@ -119,26 +89,16 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth-ts" = {
|
systemd.services."podman-bandwidth-ts" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "no"; };
|
||||||
Restart = lib.mkOverride 500 "no";
|
after = [ "podman-network-tstest-default.service" ];
|
||||||
};
|
requires = [ "podman-network-tstest-default.service" ];
|
||||||
after = [
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
"podman-network-tstest-default.service"
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
];
|
|
||||||
requires = [
|
|
||||||
"podman-network-tstest-default.service"
|
|
||||||
];
|
|
||||||
partOf = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Networks
|
# Networks
|
||||||
systemd.services."podman-network-tstest-default" = {
|
systemd.services."podman-network-tstest-default" = {
|
||||||
path = [pkgs.podman];
|
path = [ pkgs.podman ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -147,17 +107,15 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
|
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
|
||||||
'';
|
'';
|
||||||
partOf = ["podman-compose-tstest-root.target"];
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
wantedBy = ["podman-compose-tstest-root.target"];
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Root service
|
# Root service
|
||||||
# When started, this will automatically create all resources and start
|
# When started, this will automatically create all resources and start
|
||||||
# the containers. When stopped, this will teardown all resources.
|
# the containers. When stopped, this will teardown all resources.
|
||||||
systemd.targets."podman-compose-tstest-root" = {
|
systemd.targets."podman-compose-tstest-root" = {
|
||||||
unitConfig = {
|
unitConfig = { Description = "Root target generated by compose2nix."; };
|
||||||
Description = "Root target generated by compose2nix.";
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
|
||||||
wantedBy = ["multi-user.target"];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,7 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
imports = [ ./default.nix ];
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
];
|
|
||||||
deployment = {
|
deployment = {
|
||||||
tags = ["server" "intel" "vps" "web"];
|
tags = [ "server" "intel" "vps" "web" ];
|
||||||
targetHost = "178.156.139.49";
|
targetHost = "178.156.139.49";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{ inputs, outputs, lib, config, pkgs, ... }: {
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
|
|
@ -15,8 +8,9 @@
|
||||||
networking.hostName = "w1";
|
networking.hostName = "w1";
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
|
availableKernelModules =
|
||||||
kernelModules = ["nvme"];
|
[ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ];
|
||||||
|
kernelModules = [ "nvme" ];
|
||||||
};
|
};
|
||||||
loader = {
|
loader = {
|
||||||
grub = {
|
grub = {
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,14 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{
|
{ config, lib, pkgs, modulesPath, ... }: {
|
||||||
config,
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
|
boot.initrd.availableKernelModules =
|
||||||
boot.initrd.kernelModules = ["dm-snapshot"];
|
[ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
boot.kernelModules = [];
|
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||||
boot.extraModulePackages = [];
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/sda1";
|
device = "/dev/sda1";
|
||||||
|
|
@ -25,10 +18,10 @@
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/sda15";
|
device = "/dev/sda15";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = ["fmask=0022" "dmask=0022"];
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
{lib, ...}: {
|
{ lib, ... }: {
|
||||||
# This file was populated at runtime with the networking
|
# This file was populated at runtime with the networking
|
||||||
# details gathered from the active system.
|
# details gathered from the active system.
|
||||||
networking = {
|
networking = {
|
||||||
nameservers = [
|
nameservers = [ "1.1.1.1" ];
|
||||||
"1.1.1.1"
|
|
||||||
];
|
|
||||||
defaultGateway = "172.31.1.1";
|
defaultGateway = "172.31.1.1";
|
||||||
defaultGateway6 = {
|
defaultGateway6 = {
|
||||||
address = "fe80::1";
|
address = "fe80::1";
|
||||||
|
|
@ -14,12 +12,10 @@
|
||||||
usePredictableInterfaceNames = lib.mkForce false;
|
usePredictableInterfaceNames = lib.mkForce false;
|
||||||
interfaces = {
|
interfaces = {
|
||||||
eth0 = {
|
eth0 = {
|
||||||
ipv4.addresses = [
|
ipv4.addresses = [{
|
||||||
{
|
address = "178.156.139.49";
|
||||||
address = "178.156.139.49";
|
prefixLength = 32;
|
||||||
prefixLength = 32;
|
}];
|
||||||
}
|
|
||||||
];
|
|
||||||
ipv6.addresses = [
|
ipv6.addresses = [
|
||||||
{
|
{
|
||||||
address = "2a01:4ff:f0:9df8::1";
|
address = "2a01:4ff:f0:9df8::1";
|
||||||
|
|
@ -30,18 +26,14 @@
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
ipv4.routes = [
|
ipv4.routes = [{
|
||||||
{
|
address = "172.31.1.1";
|
||||||
address = "172.31.1.1";
|
prefixLength = 32;
|
||||||
prefixLength = 32;
|
}];
|
||||||
}
|
ipv6.routes = [{
|
||||||
];
|
address = "fe80::1";
|
||||||
ipv6.routes = [
|
prefixLength = 128;
|
||||||
{
|
}];
|
||||||
address = "fe80::1";
|
|
||||||
prefixLength = 128;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
# Auto-generated using compose2nix v0.1.6.
|
# Auto-generated using compose2nix v0.1.6.
|
||||||
{
|
{ pkgs, lib, ... }: {
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Runtime
|
# Runtime
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -35,29 +31,16 @@
|
||||||
"/home/don/docker/speedtest/config:/config:rw"
|
"/home/don/docker/speedtest/config:/config:rw"
|
||||||
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
"/home/don/docker/speedtest/web:/etc/ssl/web:rw"
|
||||||
];
|
];
|
||||||
dependsOn = [
|
dependsOn = [ "bandwidth-db" "bandwidth-ts" ];
|
||||||
"bandwidth-db"
|
|
||||||
"bandwidth-ts"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network=container:bandwidth-ts" ];
|
||||||
"--network=container:bandwidth-ts"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth" = {
|
systemd.services."podman-bandwidth" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
unitConfig.UpheldBy =
|
||||||
partOf = [
|
[ "podman-bandwidth-db.service" "podman-bandwidth-ts.service" ];
|
||||||
"podman-compose-tstest-root.target"
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
];
|
|
||||||
unitConfig.UpheldBy = [
|
|
||||||
"podman-bandwidth-db.service"
|
|
||||||
"podman-bandwidth-ts.service"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."bandwidth-db" = {
|
virtualisation.oci-containers.containers."bandwidth-db" = {
|
||||||
image = "mariadb:10";
|
image = "mariadb:10";
|
||||||
|
|
@ -69,30 +52,16 @@
|
||||||
PGID = "1000";
|
PGID = "1000";
|
||||||
PUID = "1000";
|
PUID = "1000";
|
||||||
};
|
};
|
||||||
volumes = [
|
volumes = [ "/home/don/docker/speedtest-db:/var/lib/mysql:rw" ];
|
||||||
"/home/don/docker/speedtest-db:/var/lib/mysql:rw"
|
dependsOn = [ "bandwidth-ts" ];
|
||||||
];
|
|
||||||
dependsOn = [
|
|
||||||
"bandwidth-ts"
|
|
||||||
];
|
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [ "--network=container:bandwidth-ts" ];
|
||||||
"--network=container:bandwidth-ts"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth-db" = {
|
systemd.services."podman-bandwidth-db" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "always"; };
|
||||||
Restart = lib.mkOverride 500 "always";
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
unitConfig.UpheldBy = [ "podman-bandwidth-ts.service" ];
|
||||||
partOf = [
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
unitConfig.UpheldBy = [
|
|
||||||
"podman-bandwidth-ts.service"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers.containers."bandwidth-ts" = {
|
virtualisation.oci-containers.containers."bandwidth-ts" = {
|
||||||
image = "tailscale/tailscale";
|
image = "tailscale/tailscale";
|
||||||
|
|
@ -100,7 +69,8 @@
|
||||||
PGID = "1000";
|
PGID = "1000";
|
||||||
PUID = "1000";
|
PUID = "1000";
|
||||||
TS_ACCEPT_DNS = "true";
|
TS_ACCEPT_DNS = "true";
|
||||||
TS_AUTHKEY = "tskey-auth-k6qutwuAk221CNTRL-9L2MS7sw2SVtH2kYKCcVNVsUHKYSX5UjH";
|
TS_AUTHKEY =
|
||||||
|
"tskey-auth-k6qutwuAk221CNTRL-9L2MS7sw2SVtH2kYKCcVNVsUHKYSX5UjH";
|
||||||
TS_HOSTNAME = "fred-bw";
|
TS_HOSTNAME = "fred-bw";
|
||||||
TS_STATE_DIR = "/var/lib/tailscale";
|
TS_STATE_DIR = "/var/lib/tailscale";
|
||||||
};
|
};
|
||||||
|
|
@ -108,7 +78,7 @@
|
||||||
"/dev/net/tun:/dev/net/tun:rw"
|
"/dev/net/tun:/dev/net/tun:rw"
|
||||||
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
|
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
|
||||||
];
|
];
|
||||||
cmd = ["tailscaled"];
|
cmd = [ "tailscaled" ];
|
||||||
log-driver = "journald";
|
log-driver = "journald";
|
||||||
extraOptions = [
|
extraOptions = [
|
||||||
"--cap-add=net_admin"
|
"--cap-add=net_admin"
|
||||||
|
|
@ -119,26 +89,16 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemd.services."podman-bandwidth-ts" = {
|
systemd.services."podman-bandwidth-ts" = {
|
||||||
serviceConfig = {
|
serviceConfig = { Restart = lib.mkOverride 500 "no"; };
|
||||||
Restart = lib.mkOverride 500 "no";
|
after = [ "podman-network-tstest-default.service" ];
|
||||||
};
|
requires = [ "podman-network-tstest-default.service" ];
|
||||||
after = [
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
"podman-network-tstest-default.service"
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
];
|
|
||||||
requires = [
|
|
||||||
"podman-network-tstest-default.service"
|
|
||||||
];
|
|
||||||
partOf = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
wantedBy = [
|
|
||||||
"podman-compose-tstest-root.target"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Networks
|
# Networks
|
||||||
systemd.services."podman-network-tstest-default" = {
|
systemd.services."podman-network-tstest-default" = {
|
||||||
path = [pkgs.podman];
|
path = [ pkgs.podman ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -147,17 +107,15 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
|
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
|
||||||
'';
|
'';
|
||||||
partOf = ["podman-compose-tstest-root.target"];
|
partOf = [ "podman-compose-tstest-root.target" ];
|
||||||
wantedBy = ["podman-compose-tstest-root.target"];
|
wantedBy = [ "podman-compose-tstest-root.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Root service
|
# Root service
|
||||||
# When started, this will automatically create all resources and start
|
# When started, this will automatically create all resources and start
|
||||||
# the containers. When stopped, this will teardown all resources.
|
# the containers. When stopped, this will teardown all resources.
|
||||||
systemd.targets."podman-compose-tstest-root" = {
|
systemd.targets."podman-compose-tstest-root" = {
|
||||||
unitConfig = {
|
unitConfig = { Description = "Root target generated by compose2nix."; };
|
||||||
Description = "Root target generated by compose2nix.";
|
wantedBy = [ "multi-user.target" ];
|
||||||
};
|
|
||||||
wantedBy = ["multi-user.target"];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ config, pkgs, lib, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.desktopManager.cosmic.enable = true;
|
services.desktopManager.cosmic.enable = true;
|
||||||
services.displayManager.cosmic-greeter.enable = true;
|
services.displayManager.cosmic-greeter.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: { imports = [ ./sway ]; }
|
||||||
imports = [./sway];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{ pkgs, ... }: {
|
||||||
# programs.regreet = {
|
# programs.regreet = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# settings = {
|
# settings = {
|
||||||
|
|
@ -12,7 +12,8 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.greetd.greetd}/bin/agreety --cmd /home/don/bin/mysway";
|
command =
|
||||||
|
"${pkgs.greetd.greetd}/bin/agreety --cmd /home/don/bin/mysway";
|
||||||
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd /home/don/bin/mysway";
|
# command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd /home/don/bin/mysway";
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ config, pkgs, lib, ... }: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alacritty
|
alacritty
|
||||||
bemenu
|
bemenu
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue