task | reformatted with nixfmt

This commit is contained in:
Don Harper 2024-12-13 11:50:29 -06:00
parent e3fea64660
commit c3a0a0847f
119 changed files with 1010 additions and 2135 deletions

126
flake.nix
View file

@ -14,41 +14,25 @@
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,
colmena,
...
}: let
inherit (self) outputs; inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib; lib = nixpkgs.lib // home-manager.lib;
systems = [ systems = [ "x86_64-linux" "aarch64-linux" ];
"x86_64-linux"
"aarch64-linux"
];
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system}); forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs systems ( pkgsFor = lib.genAttrs systems (system:
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 { nixpkgs = import nixpkgs { system = "x86_64-linux"; };
system = "x86_64-linux"; specialArgs = { inherit inputs outputs; };
};
specialArgs = {
inherit inputs outputs;
};
}; };
# ace = import ./hosts/ace/colmena.nix; # ace = import ./hosts/ace/colmena.nix;
# eve = import ./hosts/eve/colmena.nix; # eve = import ./hosts/eve/colmena.nix;
@ -65,61 +49,43 @@
nixosConfigurations = { nixosConfigurations = {
# clients # clients
ace = lib.nixosSystem { ace = lib.nixosSystem {
modules = [./hosts/ace]; modules = [ ./hosts/ace ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
dragon = lib.nixosSystem { dragon = lib.nixosSystem {
modules = [./hosts/dragon]; modules = [ ./hosts/dragon ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
eve = lib.nixosSystem { eve = lib.nixosSystem {
modules = [./hosts/eve]; modules = [ ./hosts/eve ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
loki = lib.nixosSystem { loki = lib.nixosSystem {
modules = [./hosts/loki]; modules = [ ./hosts/loki ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
pocket2 = lib.nixosSystem { pocket2 = lib.nixosSystem {
modules = [./hosts/pocket2]; modules = [ ./hosts/pocket2 ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
smaug = lib.nixosSystem { smaug = lib.nixosSystem {
modules = [./hosts/smaug]; modules = [ ./hosts/smaug ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
t2 = lib.nixosSystem { t2 = lib.nixosSystem {
modules = [./hosts/t2]; modules = [ ./hosts/t2 ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
# servers # servers
display = lib.nixosSystem { display = lib.nixosSystem {
modules = [./hosts/display]; modules = [ ./hosts/display ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
fred = lib.nixosSystem { fred = lib.nixosSystem {
modules = [./hosts/fred]; modules = [ ./hosts/fred ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
vm = lib.nixosSystem { vm = lib.nixosSystem {
modules = [ modules = [
@ -127,45 +93,31 @@
"${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix"
./hosts/vm ./hosts/vm
]; ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
harper2 = lib.nixosSystem { harper2 = lib.nixosSystem {
modules = [./hosts/harper2]; modules = [ ./hosts/harper2 ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
harper = lib.nixosSystem { harper = lib.nixosSystem {
modules = [./hosts/harper]; modules = [ ./hosts/harper ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
nuwww = lib.nixosSystem { nuwww = lib.nixosSystem {
modules = [./hosts/nuwww]; modules = [ ./hosts/nuwww ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
pihole = lib.nixosSystem { pihole = lib.nixosSystem {
modules = [./hosts/pihole]; modules = [ ./hosts/pihole ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
www2 = lib.nixosSystem { www2 = lib.nixosSystem {
modules = [./hosts/www2]; modules = [ ./hosts/www2 ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
w1 = lib.nixosSystem { w1 = lib.nixosSystem {
modules = [./hosts/w1]; modules = [ ./hosts/w1 ];
specialArgs = { specialArgs = { inherit inputs outputs; };
inherit inputs outputs;
};
}; };
# w2 = lib.nixosSystem { # w2 = lib.nixosSystem {
# modules = [./hosts/w2]; # modules = [./hosts/w2];

View file

@ -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;

View file

@ -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

View file

@ -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;
};
}; };
} }

View file

@ -1,7 +1,6 @@
{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 = ''
@ -93,8 +92,7 @@
}, },
}) })
''; '';
} }];
];
}; };
} }
# vim: shiftwidth=2 tabstop=2 expandtab # vim: shiftwidth=2 tabstop=2 expandtab

View file

@ -1,8 +1,4 @@
{ { pkgs, config, ... }: {
pkgs,
config,
...
}: {
catppuccin = { catppuccin = {
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";

View file

@ -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;

View file

@ -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";

View file

@ -1,4 +1,4 @@
{...}: { { ... }: {
programs.gpg = { programs.gpg = {
enable = true; enable = true;
settings = { settings = {

View file

@ -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]]

View file

@ -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";

View file

@ -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: "

View file

@ -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

View file

@ -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";

View file

@ -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"];
};
}; };
}; };
} }

View file

@ -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;
};
}; };
}; };
}; };

View file

@ -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
];
} }

View file

@ -1,8 +1,4 @@
{ { config, pkgs, ... }: {
config,
pkgs,
...
}: {
programs.newsboat = { programs.newsboat = {
enable = true; enable = true;
autoReload = true; autoReload = true;

View file

@ -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";

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
aggressiveResize = true; aggressiveResize = true;

View file

@ -1,8 +1,4 @@
{ { config, pkgs, ... }: {
config,
pkgs,
...
}: {
programs.topgrade = { programs.topgrade = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
programs.vifm = { programs.vifm = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''

View file

@ -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;
};
}; };
}; };
}; };

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
xdg.configFile."autostart" = { xdg.configFile."autostart" = {
recursive = true; recursive = true;
source = ./files/autostart; source = ./files/autostart;

View file

@ -1,7 +1 @@
{pkgs, ...}: { { pkgs, ... }: { home.packages = with pkgs; [ gnome-boxes libvirt qemu ]; }
home.packages = with pkgs; [
gnome-boxes
libvirt
qemu
];
}

View file

@ -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;
};
}; };
}; };
} }

View file

@ -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";

View file

@ -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

View file

@ -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";

View file

@ -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 = {

View file

@ -1,8 +1,4 @@
{ { config, pkgs, ... }: {
config,
pkgs,
...
}: {
services.redshift = { services.redshift = {
enable = true; enable = true;
latitude = "29.74"; latitude = "29.74";

View file

@ -1,10 +1,6 @@
{...}: { { ... }: {
services = { services = {
gnome-keyring = { gnome-keyring = { enable = true; };
enable = true; ssh-agent = { enable = true; };
};
ssh-agent = {
enable = true;
};
}; };
} }

View file

@ -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}";

View file

@ -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";
};
}; };
}; };
} }

View file

@ -1,18 +1,11 @@
{ { config, pkgs, inputs, ... }: {
config, home.packages = with pkgs;
pkgs, [
inputs,
...
}: {
home.packages = with pkgs; [
(pkgs.citrix_workspace.override { (pkgs.citrix_workspace.override {
libvorbis = pkgs.libvorbis.override { libvorbis = pkgs.libvorbis.override {
libogg = pkgs.libogg.overrideAttrs (prevAttrs: { libogg = pkgs.libogg.overrideAttrs (prevAttrs: {
cmakeFlags = cmakeFlags = (prevAttrs.cmakeFlags or [ ])
(prevAttrs.cmakeFlags or []) ++ [ (lib.cmakeBool "BUILD_SHARED_LIBS" true) ];
++ [
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
];
}); });
}; };
}) })

View file

@ -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
];
};
} }

View file

@ -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;

View file

@ -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"];
};
} }

View file

@ -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

View file

@ -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;
} }

View file

@ -1,11 +1,4 @@
{ { inputs, outputs, lib, config, pkgs, ... }: {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
disko.devices = { disko.devices = {
disk = { disk = {
vdb = { vdb = {

View file

@ -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

View file

@ -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

View file

@ -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;
} }

View file

@ -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"];
};
} }

View file

@ -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

View file

@ -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;
} }

View file

@ -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;

View file

@ -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"];
};
} }

View file

@ -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";

View file

@ -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;

View file

@ -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;
} }

View file

@ -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"];
}; };
} }

View file

@ -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";
} }

View file

@ -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";
} }

View file

@ -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;
}; };
} }

View file

@ -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

View file

@ -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;
} }

View file

@ -1,10 +1 @@
{ { config, pkgs, ... }: { boot.kernelModules = [ "axge" "ax88179_178a" ]; }
config,
pkgs,
...
}: {
boot.kernelModules = [
"axge"
"ax88179_178a"
];
}

View file

@ -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";
} }

View file

@ -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" ];
}; };
} }

View file

@ -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";
} }

View file

@ -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

View file

@ -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";
} }

View file

@ -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"];
};
} }

View file

@ -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

View file

@ -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;
} }

View file

@ -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 = [{
allowedUDPPortRanges = [
{
from = 1714; from = 1714;
to = 1764; 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
8443
];
allowedTCPPortRanges = [
{
from = 1714; from = 1714;
to = 1764; to = 1764;
} }];
]; allowedUDPPortRanges = [{
allowedUDPPortRanges = [
{
from = 1714; from = 1714;
to = 1764; to = 1764;
} }];
];
}; };
}; };
}; };

View file

@ -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 = {

View file

@ -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.

View file

@ -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;

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
system.activationScripts.diff = { system.activationScripts.diff = {
supportsDryActivation = true; supportsDryActivation = true;
text = '' text = ''

View file

@ -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;
}; };
} }

View file

@ -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

View file

@ -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;
} }

View file

@ -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"];
}; };
} }

View file

@ -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"];
};
} }

View file

@ -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";
} }

View file

@ -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

View file

@ -1,11 +1,4 @@
{ { inputs, outputs, lib, config, pkgs, ... }: {
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
catppuccin = { catppuccin = {
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";

View file

@ -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";
} }

View file

@ -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;
} }

View file

@ -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";
} }

View file

@ -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;
} }

View file

@ -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"];
};
} }

View file

@ -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 = {

View file

@ -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

View file

@ -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 = [{
ipv6.routes = [
{
address = "fe80::1"; address = "fe80::1";
prefixLength = 128; prefixLength = 128;
} }];
];
}; };
}; };
}; };

View file

@ -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"];
}; };
} }

View file

@ -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";
}; };
} }

View file

@ -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 = {

View file

@ -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

View file

@ -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 = [{
ipv6.routes = [
{
address = "fe80::1"; address = "fe80::1";
prefixLength = 128; prefixLength = 128;
} }];
];
}; };
}; };
}; };

View file

@ -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"];
}; };
} }

View file

@ -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;
} }

View file

@ -1,3 +1 @@
{pkgs, ...}: { { pkgs, ... }: { imports = [ ./sway ]; }
imports = [./sway];
}

View file

@ -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";
}; };

View file

@ -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