formated using alejandra
This commit is contained in:
parent
88a48b895c
commit
4b1114a616
92 changed files with 1377 additions and 1156 deletions
173
flake.nix
173
flake.nix
|
|
@ -10,102 +10,101 @@
|
||||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{
|
outputs = inputs @ {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nix,
|
nix,
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
home-manager,
|
home-manager,
|
||||||
stylix,
|
stylix,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
inherit (self) outputs;
|
||||||
inherit (self) outputs;
|
lib = nixpkgs.lib // home-manager.lib;
|
||||||
lib = nixpkgs.lib // home-manager.lib;
|
systems = ["x86_64-linux" "aarch64-linux"];
|
||||||
systems = [ "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 (system:
|
||||||
pkgsFor = lib.genAttrs systems (system: import nixpkgs {
|
import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
});
|
});
|
||||||
in
|
in {
|
||||||
{
|
inherit lib;
|
||||||
inherit lib;
|
# nixosModules = import ./modules/nixos;
|
||||||
# nixosModules = import ./modules/nixos;
|
# homeManagerModules = import ./modules/home-manager;
|
||||||
# homeManagerModules = import ./modules/home-manager;
|
# templates = import ./templates;
|
||||||
# templates = import ./templates;
|
|
||||||
|
|
||||||
# overlays = import ./overlays { inherit inputs outputs; };
|
# overlays = import ./overlays { inherit inputs outputs; };
|
||||||
|
|
||||||
# packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; });
|
# packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; });
|
||||||
# devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
|
# devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
|
||||||
# formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt);
|
# formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt);
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# clients
|
# clients
|
||||||
ace = lib.nixosSystem {
|
ace = lib.nixosSystem {
|
||||||
modules = [ ./hosts/ace ];
|
modules = [./hosts/ace];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
dragon = lib.nixosSystem {
|
dragon = lib.nixosSystem {
|
||||||
modules = [ ./hosts/dragon ];
|
modules = [./hosts/dragon];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
eve = lib.nixosSystem {
|
eve = lib.nixosSystem {
|
||||||
modules = [ ./hosts/eve ];
|
modules = [./hosts/eve];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
loki = lib.nixosSystem {
|
loki = lib.nixosSystem {
|
||||||
modules = [ ./hosts/loki ];
|
modules = [./hosts/loki];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
|
|
||||||
pocket2 = lib.nixosSystem {
|
pocket2 = lib.nixosSystem {
|
||||||
modules = [ ./hosts/pocket2 ];
|
modules = [./hosts/pocket2];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
smaug = lib.nixosSystem {
|
smaug = lib.nixosSystem {
|
||||||
modules = [ ./hosts/smaug ];
|
modules = [./hosts/smaug];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
t2 = lib.nixosSystem {
|
t2 = lib.nixosSystem {
|
||||||
modules = [ ./hosts/t2 ];
|
modules = [./hosts/t2];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
|
|
||||||
# servers
|
# servers
|
||||||
display = lib.nixosSystem {
|
display = lib.nixosSystem {
|
||||||
modules = [ ./hosts/display ];
|
modules = [./hosts/display];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
fred = lib.nixosSystem {
|
fred = lib.nixosSystem {
|
||||||
modules = [ ./hosts/fred ];
|
modules = [./hosts/fred];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
vm = lib.nixosSystem {
|
vm = lib.nixosSystem {
|
||||||
modules = [ ./hosts/vm ];
|
modules = [./hosts/vm];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
harper2 = lib.nixosSystem {
|
harper2 = lib.nixosSystem {
|
||||||
modules = [ ./hosts/harper2 ];
|
modules = [./hosts/harper2];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
harper = lib.nixosSystem {
|
harper = lib.nixosSystem {
|
||||||
modules = [ ./hosts/harper ];
|
modules = [./hosts/harper];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
nuwww = lib.nixosSystem {
|
nuwww = lib.nixosSystem {
|
||||||
modules = [ ./hosts/nuwww ];
|
modules = [./hosts/nuwww];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
pihole = lib.nixosSystem {
|
pihole = lib.nixosSystem {
|
||||||
modules = [ ./hosts/pihole ];
|
modules = [./hosts/pihole];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
};
|
||||||
www2 = lib.nixosSystem {
|
www2 = lib.nixosSystem {
|
||||||
modules = [ ./hosts/www2 ];
|
modules = [./hosts/www2];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = {inherit inputs outputs;};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [ ./bash_complition.nix ];
|
config,
|
||||||
|
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;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.file = {
|
home.file = {
|
||||||
doascomplete = {
|
doascomplete = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -8,10 +8,10 @@
|
||||||
{
|
{
|
||||||
local cur prev words cword split
|
local cur prev words cword split
|
||||||
_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
|
||||||
|
|
@ -23,16 +23,16 @@
|
||||||
[[ ''${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"))
|
||||||
|
|
@ -103,33 +103,33 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
#the following variable is substituted for by ../../test/bash_completion.t
|
#the following variable is substituted for by ../../test/bash_completion.t
|
||||||
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()
|
||||||
{
|
{
|
||||||
local cur prev opts base
|
local cur prev opts base
|
||||||
|
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
cur="''${COMP_WORDS[COMP_CWORD]}"
|
cur="''${COMP_WORDS[COMP_CWORD]}"
|
||||||
prev="''${COMP_WORDS[COMP_CWORD-1]}"
|
prev="''${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
|
@ -143,11 +143,11 @@
|
||||||
# echo -e "\ncur='''$cur'"
|
# echo -e "\ncur='''$cur'"
|
||||||
# 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
|
||||||
|
|
@ -237,7 +237,7 @@
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
COMPREPLY=( ''$(compgen -W "''${opts}" -- ''${cur}) )
|
COMPREPLY=( ''$(compgen -W "''${opts}" -- ''${cur}) )
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
@ -257,7 +257,7 @@
|
||||||
{
|
{
|
||||||
echo "annotate cancel config continue day delete diagnostics export extensions gaps get help join lengthen modify month move report resize shorten show split start stop summary tag tags track undo untag week"
|
echo "annotate cancel config continue day delete diagnostics export extensions gaps get help join lengthen modify month move report resize shorten show split start stop summary tag tags track undo untag week"
|
||||||
}
|
}
|
||||||
|
|
||||||
function __get_subcommands()
|
function __get_subcommands()
|
||||||
{
|
{
|
||||||
case "''${1}" in
|
case "''${1}" in
|
||||||
|
|
@ -269,17 +269,17 @@
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
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()
|
||||||
{
|
{
|
||||||
echo -e "--help --verbose --version"
|
echo -e "--help --verbose --version"
|
||||||
}
|
}
|
||||||
|
|
||||||
function __get_ids()
|
function __get_ids()
|
||||||
{
|
{
|
||||||
local count
|
local count
|
||||||
|
|
@ -290,17 +290,17 @@
|
||||||
seq -f "@%g" 1 "''${count}"
|
seq -f "@%g" 1 "''${count}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
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()
|
||||||
{
|
{
|
||||||
for word in "''${COMP_WORDS[@]}" ; do
|
for word in "''${COMP_WORDS[@]}" ; do
|
||||||
|
|
@ -308,14 +308,14 @@
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
if [[ "''${word}" == "''${cmd}" ]] ; then
|
if [[ "''${word}" == "''${cmd}" ]] ; then
|
||||||
|
|
@ -323,14 +323,14 @@
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
if [[ "''${word}" == "''${item}" ]] ; then
|
if [[ "''${word}" == "''${item}" ]] ; then
|
||||||
|
|
@ -338,10 +338,10 @@
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
function __is_entering_id()
|
function __is_entering_id()
|
||||||
{
|
{
|
||||||
if [[ "''${COMP_WORDS[COMP_CWORD]}" =~ @[0-9]* ]] ; then
|
if [[ "''${COMP_WORDS[COMP_CWORD]}" =~ @[0-9]* ]] ; then
|
||||||
|
|
@ -350,36 +350,36 @@
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function __complete_tag()
|
function __complete_tag()
|
||||||
{
|
{
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
cur="''${COMP_WORDS[COMP_CWORD]}"
|
cur="''${COMP_WORDS[COMP_CWORD]}"
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
function _timew()
|
function _timew()
|
||||||
{
|
{
|
||||||
local cur first wordlist
|
local cur first wordlist
|
||||||
|
|
||||||
COMPREPLY=()
|
COMPREPLY=()
|
||||||
cur="''${COMP_WORDS[COMP_CWORD]}"
|
cur="''${COMP_WORDS[COMP_CWORD]}"
|
||||||
first="''${COMP_WORDS[1]}"
|
first="''${COMP_WORDS[1]}"
|
||||||
|
|
||||||
case "''${first}" in
|
case "''${first}" in
|
||||||
cancel|config|diagnostics|day|extensions|get|month|show|undo|week)
|
cancel|config|diagnostics|day|extensions|get|month|show|undo|week)
|
||||||
wordlist=""
|
wordlist=""
|
||||||
|
|
@ -425,10 +425,10 @@
|
||||||
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
|
||||||
complete -F _timew tt
|
complete -F _timew tt
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
#home.packages = with pkgs; [ btop ];
|
#home.packages = with pkgs; [ btop ];
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
{
|
{
|
||||||
|
|
@ -22,12 +21,12 @@
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
},
|
},
|
||||||
|
|
||||||
buffer_visible = {
|
buffer_visible = {
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
},
|
},
|
||||||
|
|
||||||
close_button = {
|
close_button = {
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
|
@ -36,7 +35,7 @@
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
},
|
},
|
||||||
|
|
||||||
tab_selected = {
|
tab_selected = {
|
||||||
fg = { attribute = "fg", highlight = "Normal" },
|
fg = { attribute = "fg", highlight = "Normal" },
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
|
@ -49,7 +48,7 @@
|
||||||
fg = { attribute = "fg", highlight = "TabLineSel" },
|
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
bg = { attribute = "bg", highlight = "Normal" },
|
bg = { attribute = "bg", highlight = "Normal" },
|
||||||
},
|
},
|
||||||
|
|
||||||
duplicate_selected = {
|
duplicate_selected = {
|
||||||
fg = { attribute = "fg", highlight = "TabLineSel" },
|
fg = { attribute = "fg", highlight = "TabLineSel" },
|
||||||
bg = { attribute = "bg", highlight = "TabLineSel" },
|
bg = { attribute = "bg", highlight = "TabLineSel" },
|
||||||
|
|
@ -65,7 +64,7 @@
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
italic = true,
|
italic = true,
|
||||||
},
|
},
|
||||||
|
|
||||||
modified = {
|
modified = {
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
|
@ -78,7 +77,7 @@
|
||||||
fg = { attribute = "fg", highlight = "TabLine" },
|
fg = { attribute = "fg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
},
|
},
|
||||||
|
|
||||||
separator = {
|
separator = {
|
||||||
fg = { attribute = "bg", highlight = "TabLine" },
|
fg = { attribute = "bg", highlight = "TabLine" },
|
||||||
bg = { attribute = "bg", highlight = "TabLine" },
|
bg = { attribute = "bg", highlight = "TabLine" },
|
||||||
|
|
@ -99,3 +98,4 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# vim: shiftwidth=2 tabstop=2 expandtab
|
# vim: shiftwidth=2 tabstop=2 expandtab
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./bash.nix
|
./bash.nix
|
||||||
./btop.nix
|
./btop.nix
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.lazygit = {
|
programs.lazygit = {
|
||||||
settings = {
|
settings = {
|
||||||
os.editPreset = "lvim";
|
os.editPreset = "lvim";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
programs.gpg = {
|
programs.gpg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [ khal ];
|
home.packages = with pkgs; [khal];
|
||||||
xdg.configFile."khal/config".text = ''
|
xdg.configFile."khal/config".text = ''
|
||||||
[calendars]
|
[calendars]
|
||||||
[[work]]
|
[[work]]
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
{ 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 = [ "${pkgs.neovim}/bin/nvim" "-d" ];
|
merge_editor = ["${pkgs.neovim}/bin/nvim" "-d"];
|
||||||
};
|
};
|
||||||
"contact table" = {
|
"contact table" = {
|
||||||
display = "first_name";
|
display = "first_name";
|
||||||
|
|
@ -16,11 +19,11 @@
|
||||||
show_uids = "no";
|
show_uids = "no";
|
||||||
sort = "last_name";
|
sort = "last_name";
|
||||||
localize_dates = "yes";
|
localize_dates = "yes";
|
||||||
preferred_phone_number_type = [ "pref" "cell" "home" ];
|
preferred_phone_number_type = ["pref" "cell" "home"];
|
||||||
preferred_email_address_type = [ "pref" "work" "home" ];
|
preferred_email_address_type = ["pref" "work" "home"];
|
||||||
};
|
};
|
||||||
vcard = {
|
vcard = {
|
||||||
private_objects = [ "Jabber" "Skype" "Twitter" "Mastodon" ];
|
private_objects = ["Jabber" "Skype" "Twitter" "Mastodon"];
|
||||||
preferred_version = "3.0";
|
preferred_version = "3.0";
|
||||||
search_in_source_files = "no";
|
search_in_source_files = "no";
|
||||||
skip_unparsable = "no";
|
skip_unparsable = "no";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
xdg.configFile."lf/icons".source = ./icons;
|
xdg.configFile."lf/icons".source = ./icons;
|
||||||
|
|
||||||
programs.lf = {
|
programs.lf = {
|
||||||
|
|
@ -8,16 +10,15 @@
|
||||||
commands = {
|
commands = {
|
||||||
editor-open = ''$$EDITOR $f'';
|
editor-open = ''$$EDITOR $f'';
|
||||||
mkdir = ''
|
mkdir = ''
|
||||||
''${{
|
''${{
|
||||||
printf "Directory Name: "
|
printf "Directory Name: "
|
||||||
read DIR
|
read DIR
|
||||||
mkdir $DIR
|
mkdir $DIR
|
||||||
}}
|
}}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
keybindings = {
|
keybindings = {
|
||||||
|
|
||||||
"\\\"" = "";
|
"\\\"" = "";
|
||||||
o = "";
|
o = "";
|
||||||
c = "mkdir";
|
c = "mkdir";
|
||||||
|
|
@ -27,7 +28,7 @@
|
||||||
"<enter>" = "open";
|
"<enter>" = "open";
|
||||||
"<delete>" = "delete";
|
"<delete>" = "delete";
|
||||||
"dd" = "delete";
|
"dd" = "delete";
|
||||||
|
|
||||||
"g~" = "cd";
|
"g~" = "cd";
|
||||||
gh = "cd";
|
gh = "cd";
|
||||||
"g/" = "/";
|
"g/" = "/";
|
||||||
|
|
@ -45,28 +46,25 @@
|
||||||
ignorecase = true;
|
ignorecase = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig =
|
extraConfig = let
|
||||||
let
|
previewer = pkgs.writeShellScriptBin "pv.sh" ''
|
||||||
previewer =
|
|
||||||
pkgs.writeShellScriptBin "pv.sh" ''
|
|
||||||
file=$1
|
file=$1
|
||||||
w=$2
|
w=$2
|
||||||
h=$3
|
h=$3
|
||||||
x=$4
|
x=$4
|
||||||
y=$5
|
y=$5
|
||||||
|
|
||||||
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
|
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
|
||||||
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
|
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${pkgs.pistol}/bin/pistol "$file"
|
${pkgs.pistol}/bin/pistol "$file"
|
||||||
'';
|
'';
|
||||||
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
|
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
|
||||||
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
|
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
|
||||||
'';
|
'';
|
||||||
in
|
in ''
|
||||||
''
|
|
||||||
set cleaner ${cleaner}/bin/clean.sh
|
set cleaner ${cleaner}/bin/clean.sh
|
||||||
set previewer ${previewer}/bin/pv.sh
|
set previewer ${previewer}/bin/pv.sh
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [ liquidprompt ];
|
home.packages = with pkgs; [liquidprompt];
|
||||||
xdg.configFile."liquidpromptrc".text = ''
|
xdg.configFile."liquidpromptrc".text = ''
|
||||||
source ~/.config/liquidprompt.theme
|
source ~/.config/liquidprompt.theme
|
||||||
LOCAL_RCFILE=$HOME/.config/liquidpromptrc.local
|
LOCAL_RCFILE=$HOME/.config/liquidpromptrc.local
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ listadmin ];
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs; [listadmin];
|
||||||
home.file."listadmin.ini" = {
|
home.file."listadmin.ini" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
target = ".listadmin.ini";
|
target = ".listadmin.ini";
|
||||||
|
|
@ -18,4 +21,3 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
"don@donharper.org" = {
|
"don@donharper.org" = {
|
||||||
primary = true;
|
primary = true;
|
||||||
|
|
@ -14,8 +17,8 @@
|
||||||
programs.notmuch = {
|
programs.notmuch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
new = {
|
new = {
|
||||||
tags = [ "unread" ];
|
tags = ["unread"];
|
||||||
ignore = [ ".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock" ];
|
ignore = [".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock"];
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
database = {
|
database = {
|
||||||
|
|
@ -30,12 +33,12 @@
|
||||||
home.file.".signature".text = ''
|
home.file.".signature".text = ''
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
Don Harper
|
Don Harper
|
||||||
'';
|
'';
|
||||||
|
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
timers.mbsync = {
|
timers.mbsync = {
|
||||||
Timer = {
|
Timer = {
|
||||||
OnUnitActiveSec = "5m";
|
OnUnitActiveSec = "5m";
|
||||||
AccuracySec = "1m";
|
AccuracySec = "1m";
|
||||||
|
|
@ -46,26 +49,26 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mbsync = {
|
services.mbsync = {
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "/home/don/bin/mbsync";
|
ExecStart = "/home/don/bin/mbsync";
|
||||||
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" = {
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "/home/don/bin/mbsync gmail";
|
ExecStart = "/home/don/bin/mbsync gmail";
|
||||||
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" = {
|
||||||
Timer = {
|
Timer = {
|
||||||
|
|
@ -75,6 +78,6 @@
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = ["timers.target"];
|
WantedBy = ["timers.target"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services = {
|
services = {
|
||||||
mopidy = {
|
mopidy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = false;
|
defaultEditor = false;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
colorscheme dracula
|
colorscheme dracula
|
||||||
set backspace="indent,eol,start"
|
set backspace="indent,eol,start"
|
||||||
set autoindent
|
set autoindent
|
||||||
|
|
@ -29,7 +31,7 @@
|
||||||
"set listchars="eol:⏎,tab:␉·,trail:␠,nbsp:⎵"
|
"set listchars="eol:⏎,tab:␉·,trail:␠,nbsp:⎵"
|
||||||
set background=dark
|
set background=dark
|
||||||
set laststatus=2
|
set laststatus=2
|
||||||
set t_Co=256
|
set t_Co=256
|
||||||
let g:ale_linters = { 'nix': ['statix']}
|
let g:ale_linters = { 'nix': ['statix']}
|
||||||
let g:vimwiki_list = [{'path': '~/org/', 'syntax': 'markdown', 'ext': '.md'}]
|
let g:vimwiki_list = [{'path': '~/org/', 'syntax': 'markdown', 'ext': '.md'}]
|
||||||
let g:vimwiki_global_ext = 0
|
let g:vimwiki_global_ext = 0
|
||||||
|
|
@ -39,7 +41,7 @@
|
||||||
CheckAttach
|
CheckAttach
|
||||||
Recover-vim
|
Recover-vim
|
||||||
Shade-nvim # color
|
Shade-nvim # color
|
||||||
SpaceCamp # color
|
SpaceCamp # color
|
||||||
#YouCompleteMe
|
#YouCompleteMe
|
||||||
ale
|
ale
|
||||||
ansible-vim
|
ansible-vim
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,22 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.newsboat = {
|
programs.newsboat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoReload = true;
|
autoReload = true;
|
||||||
browser = "~/bin/myweb";
|
browser = "~/bin/myweb";
|
||||||
reloadThreads = 4;
|
reloadThreads = 4;
|
||||||
reloadTime = 45;
|
reloadTime = 45;
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
article-sort-order date
|
article-sort-order date
|
||||||
bind-key D mark-feed-read
|
bind-key D mark-feed-read
|
||||||
bind-key J next-feed
|
bind-key J next-feed
|
||||||
bind-key K prev-feed
|
bind-key K prev-feed
|
||||||
bind-key N toggle-article-read
|
bind-key N toggle-article-read
|
||||||
bind-key SPACE open
|
bind-key SPACE open
|
||||||
bind-key a mark-feed-read
|
bind-key a mark-feed-read
|
||||||
bind-key d toggle-article-read
|
bind-key d toggle-article-read
|
||||||
bind-key i quit
|
bind-key i quit
|
||||||
bind-key j next
|
bind-key j next
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [taskwarrior taskwarrior-tui tasksh vit timewarrior];
|
||||||
home.packages = with pkgs; [ taskwarrior taskwarrior-tui tasksh vit timewarrior ];
|
|
||||||
programs.taskwarrior = {
|
programs.taskwarrior = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorTheme = "dark-green-256";
|
colorTheme = "dark-green-256";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
aggressiveResize = true;
|
aggressiveResize = true;
|
||||||
|
|
@ -21,106 +20,103 @@
|
||||||
pkgs.tmuxPlugins.vim-tmux-navigator
|
pkgs.tmuxPlugins.vim-tmux-navigator
|
||||||
{
|
{
|
||||||
plugin = pkgs.tmuxPlugins.online-status;
|
plugin = pkgs.tmuxPlugins.online-status;
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
set -g @online_icon "ok"
|
||||||
set -g @online_icon "ok"
|
set -g @offline_icon "offline!"
|
||||||
set -g @offline_icon "offline!"
|
'';
|
||||||
'';
|
}
|
||||||
}
|
{
|
||||||
{
|
plugin = pkgs.tmuxPlugins.dracula;
|
||||||
plugin = pkgs.tmuxPlugins.dracula;
|
extraConfig = ''
|
||||||
extraConfig =
|
set -g @dracula-plugins "cpu-usage network battery weather time"
|
||||||
''
|
set -g @dracula-border-contrast true
|
||||||
set -g @dracula-plugins "cpu-usage network battery weather time"
|
set -g @dracula-refresh-rate 10
|
||||||
set -g @dracula-border-contrast true
|
set -g @dracula-show-left-icon session
|
||||||
set -g @dracula-refresh-rate 10
|
set -g @dracula-border-contrast true
|
||||||
set -g @dracula-show-left-icon session
|
set -g @dracula-show-powerline true
|
||||||
set -g @dracula-border-contrast true
|
set -g @dracula-synchronize-panes-label "Sync"
|
||||||
set -g @dracula-show-powerline true
|
set -g @dracula-show-flags true
|
||||||
set -g @dracula-synchronize-panes-label "Sync"
|
set -g @dracula-show-timezone false
|
||||||
set -g @dracula-show-flags true
|
set -g @dracula-fixed-location "Katy, Texas"
|
||||||
set -g @dracula-show-timezone false
|
set -g @dracula-show-location false
|
||||||
set -g @dracula-fixed-location "Katy, Texas"
|
'';
|
||||||
set -g @dracula-show-location false
|
}
|
||||||
'';
|
];
|
||||||
}
|
extraConfig = ''
|
||||||
];
|
bind '~' split-window "exec btop"
|
||||||
extraConfig =
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
''
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
bind '~' split-window "exec btop"
|
bind -n C-1 select-window -t 11
|
||||||
bind - split-window -v -c "#{pane_current_path}"
|
bind -n C-2 select-window -t 12
|
||||||
bind | split-window -h -c "#{pane_current_path}"
|
bind -n C-3 select-window -t 13
|
||||||
bind -n C-1 select-window -t 11
|
bind -n C-4 select-window -t 14
|
||||||
bind -n C-2 select-window -t 12
|
bind -n C-left swap-window -t -1
|
||||||
bind -n C-3 select-window -t 13
|
bind -n C-right swap-window -t +1
|
||||||
bind -n C-4 select-window -t 14
|
bind -n S-down new-window
|
||||||
bind -n C-left swap-window -t -1
|
bind -n S-left prev
|
||||||
bind -n C-right swap-window -t +1
|
bind -n S-right next
|
||||||
bind -n S-down new-window
|
bind 0 select-window -t 10
|
||||||
bind -n S-left prev
|
bind 1 select-window -t 1
|
||||||
bind -n S-right next
|
bind 2 select-window -t 2
|
||||||
bind 0 select-window -t 10
|
bind 3 select-window -t 3
|
||||||
bind 1 select-window -t 1
|
bind 4 select-window -t 4
|
||||||
bind 2 select-window -t 2
|
bind 5 select-window -t 5
|
||||||
bind 3 select-window -t 3
|
bind 6 select-window -t 6
|
||||||
bind 4 select-window -t 4
|
bind 7 select-window -t 7
|
||||||
bind 5 select-window -t 5
|
bind 8 select-window -t 8
|
||||||
bind 6 select-window -t 6
|
bind 9 select-window -t 9
|
||||||
bind 7 select-window -t 7
|
bind C-0 select-window -t 20
|
||||||
bind 8 select-window -t 8
|
bind C-5 select-window -t 15
|
||||||
bind 9 select-window -t 9
|
bind C-6 select-window -t 16
|
||||||
bind C-0 select-window -t 20
|
bind C-7 select-window -t 17
|
||||||
bind C-5 select-window -t 15
|
bind C-8 select-window -t 18
|
||||||
bind C-6 select-window -t 16
|
bind C-9 select-window -t 19
|
||||||
bind C-7 select-window -t 17
|
bind C-c run "tmux show-buffer | wl-copy"
|
||||||
bind C-8 select-window -t 18
|
bind C-t neww -n vit "exec vit"
|
||||||
bind C-9 select-window -t 19
|
bind C-v run "tmux set-buffer -- \"$(wl-paste)\"; tmux paste-buffer"
|
||||||
bind C-c run "tmux show-buffer | wl-copy"
|
bind F1 select-window -t 11
|
||||||
bind C-t neww -n vit "exec vit"
|
bind F10 select-window -t 20
|
||||||
bind C-v run "tmux set-buffer -- \"$(wl-paste)\"; tmux paste-buffer"
|
bind F2 select-window -t 12
|
||||||
bind F1 select-window -t 11
|
bind F3 select-window -t 13
|
||||||
bind F10 select-window -t 20
|
bind F4 select-window -t 14
|
||||||
bind F2 select-window -t 12
|
bind F5 select-window -t 15
|
||||||
bind F3 select-window -t 13
|
bind F6 select-window -t 16
|
||||||
bind F4 select-window -t 14
|
bind F7 select-window -t 17
|
||||||
bind F5 select-window -t 15
|
bind F8 select-window -t 18
|
||||||
bind F6 select-window -t 16
|
bind F9 select-window -t 19
|
||||||
bind F7 select-window -t 17
|
bind I neww -n khal "exec ikhal"
|
||||||
bind F8 select-window -t 18
|
bind K split-window -h "exec ikhal"
|
||||||
bind F9 select-window -t 19
|
bind S split-window -v -l 5
|
||||||
bind I neww -n khal "exec ikhal"
|
bind Tab choose-window
|
||||||
bind K split-window -h "exec ikhal"
|
bind ^b last-window
|
||||||
bind S split-window -v -l 5
|
bind e setw synchronize-panes
|
||||||
bind Tab choose-window
|
bind g select-layout tiled
|
||||||
bind ^b last-window
|
bind o select-pane -t :.-
|
||||||
bind e setw synchronize-panes
|
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlscan" '$SHELL -c "urlscan -c -d < /tmp/tmux-buffer"'
|
||||||
bind g select-layout tiled
|
set -g bell-action any
|
||||||
bind o select-pane -t :.-
|
set -g buffer-limit 9
|
||||||
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlscan" '$SHELL -c "urlscan -c -d < /tmp/tmux-buffer"'
|
set -g display-panes-active-colour red
|
||||||
set -g bell-action any
|
set -g display-panes-colour blue
|
||||||
set -g buffer-limit 9
|
set -g display-panes-time 1000
|
||||||
set -g display-panes-active-colour red
|
set -g display-time 750
|
||||||
set -g display-panes-colour blue
|
set -g focus-events on
|
||||||
set -g display-panes-time 1000
|
set -g lock-after-time 120
|
||||||
set -g display-time 750
|
set -g lock-command 'tty | grep -q "^/dev/tty" && vlock'
|
||||||
set -g focus-events on
|
set -g renumber-windows off
|
||||||
set -g lock-after-time 120
|
set -g set-titles on
|
||||||
set -g lock-command 'tty | grep -q "^/dev/tty" && vlock'
|
set -g set-titles-string "#S:#I:#W - "#T""
|
||||||
set -g renumber-windows off
|
set -g status on
|
||||||
set -g set-titles on
|
set -g status-interval 0
|
||||||
set -g set-titles-string "#S:#I:#W - "#T""
|
set -g status-interval 15
|
||||||
set -g status on
|
set -g status-justify left
|
||||||
set -g status-interval 0
|
set -g status-position top
|
||||||
set -g status-interval 15
|
set -g visual-activity off
|
||||||
set -g status-justify left
|
set -g visual-bell off
|
||||||
set -g status-position top
|
set -sa terminal-features ',tmux-256color:RGB'
|
||||||
set -g visual-activity off
|
set -sa terminal-overrides ",tmux-256color:RGB"
|
||||||
set -g visual-bell off
|
set -sg escape-time 0
|
||||||
set -sa terminal-features ',tmux-256color:RGB'
|
'';
|
||||||
set -sa terminal-overrides ",tmux-256color:RGB"
|
};
|
||||||
set -sg escape-time 0
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
xdg.configFile."tmuxinator" = {
|
xdg.configFile."tmuxinator" = {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ./files/tmuxinator;
|
source = ./files/tmuxinator;
|
||||||
|
|
@ -131,20 +127,20 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
target = ".tmux-cssh";
|
target = ".tmux-cssh";
|
||||||
text = ''
|
text = ''
|
||||||
vps:-sc www -sc nuwww
|
vps:-sc www -sc nuwww
|
||||||
local:-sc harper -sc mini -sc display -sc harper2 -sc pihole -sc fred
|
local:-sc harper -sc mini -sc display -sc harper2 -sc pihole -sc fred
|
||||||
server:-cs vps -cs local
|
server:-cs vps -cs local
|
||||||
laptop:-sc loki -sc dragon
|
laptop:-sc loki -sc dragon
|
||||||
arch:-sc harper -sc pihole -sc nuwww -sc display
|
arch:-sc harper -sc pihole -sc nuwww -sc display
|
||||||
nix:-sc loki -sc eve -sc smaug
|
nix:-sc loki -sc eve -sc smaug
|
||||||
nix-all:-cs nix -sc dragon -sc ace -sc pocket2 -sc fred
|
nix-all:-cs nix -sc dragon -sc ace -sc pocket2 -sc fred
|
||||||
ubuntu:-sc mini -sc www -sc harper2
|
ubuntu:-sc mini -sc www -sc harper2
|
||||||
vm:-sc vm1 -sc vm2
|
vm:-sc vm1 -sc vm2
|
||||||
all-laptop:-cs laptop -sc smaug -sc dragon -sc pocket2 -sc ace -sc eve
|
all-laptop:-cs laptop -sc smaug -sc dragon -sc pocket2 -sc ace -sc eve
|
||||||
# -sc pine
|
# -sc pine
|
||||||
#all:-cs server -cs laptop
|
#all:-cs server -cs laptop
|
||||||
all:-cs server -cs all-laptop
|
all:-cs server -cs all-laptop
|
||||||
test:-cs all -cs vm
|
test:-cs all -cs vm
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [ todoman ];
|
home.packages = with pkgs; [todoman];
|
||||||
xdg.configFile."todoman/config.py".text = /* python */ ''
|
xdg.configFile."todoman/config.py".text =
|
||||||
path = "~/.config/vdirsyncer/storage/calendar/*"
|
/*
|
||||||
date_format = "%Y-%m-%d"
|
python
|
||||||
time_format = "%H:%M"
|
*/
|
||||||
default_list = "duckunix@gmail.com"
|
''
|
||||||
# default_due = 48
|
path = "~/.config/vdirsyncer/storage/calendar/*"
|
||||||
default_command = "list --startable"
|
date_format = "%Y-%m-%d"
|
||||||
'';
|
time_format = "%H:%M"
|
||||||
|
default_list = "duckunix@gmail.com"
|
||||||
|
# default_due = 48
|
||||||
|
default_command = "list --startable"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.topgrade = {
|
programs.topgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -23,7 +26,7 @@
|
||||||
set_title = false;
|
set_title = false;
|
||||||
cleanup = true;
|
cleanup = true;
|
||||||
#commands = {
|
#commands = {
|
||||||
#"Run garbage collection on Nix store" = "nix-collect-garbage";
|
#"Run garbage collection on Nix store" = "nix-collect-garbage";
|
||||||
#};
|
#};
|
||||||
};
|
};
|
||||||
git = {
|
git = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [ vifm-full ];
|
home.packages = with pkgs; [vifm-full];
|
||||||
xdg.configFile."vifm/vifmrc".text = ''
|
xdg.configFile."vifm/vifmrc".text = ''
|
||||||
" vim: filetype=vifm :
|
" vim: filetype=vifm :
|
||||||
set runexec
|
set runexec
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
" VIFM COLORS
|
" VIFM COLORS
|
||||||
" dracula
|
" dracula
|
||||||
" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
|
" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
|
||||||
|
|
||||||
" Default = -1 = None, can be used for transparency or default color
|
" Default = -1 = None, can be used for transparency or default color
|
||||||
" Black = 0
|
" Black = 0
|
||||||
" Red = 1
|
" Red = 1
|
||||||
|
|
@ -27,31 +27,31 @@
|
||||||
" Magenta = 5
|
" Magenta = 5
|
||||||
" Cyan = 6
|
" Cyan = 6
|
||||||
" White = 7
|
" White = 7
|
||||||
|
|
||||||
" STYLES
|
" STYLES
|
||||||
" bold
|
" bold
|
||||||
" underline
|
" underline
|
||||||
" reverse or inverse
|
" reverse or inverse
|
||||||
" standout
|
" standout
|
||||||
" none
|
" none
|
||||||
|
|
||||||
|
|
||||||
highlight clear
|
highlight clear
|
||||||
|
|
||||||
highlight Win cterm=none ctermfg=default ctermbg=none
|
highlight Win cterm=none ctermfg=default ctermbg=none
|
||||||
|
|
||||||
highlight TopLine cterm=none ctermfg=blue ctermbg=none
|
highlight TopLine cterm=none ctermfg=blue ctermbg=none
|
||||||
highlight TopLineSel cterm=none ctermfg=magenta ctermbg=none
|
highlight TopLineSel cterm=none ctermfg=magenta ctermbg=none
|
||||||
highlight StatusLine cterm=none ctermfg=blue ctermbg=none
|
highlight StatusLine cterm=none ctermfg=blue ctermbg=none
|
||||||
highlight Border cterm=none ctermfg=blue ctermbg=none
|
highlight Border cterm=none ctermfg=blue ctermbg=none
|
||||||
|
|
||||||
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
|
||||||
highlight CurrLine cterm=bold ctermfg=236 ctermbg=blue
|
highlight CurrLine cterm=bold ctermfg=236 ctermbg=blue
|
||||||
|
|
||||||
highlight WildMenu cterm=none,reverse ctermfg=blue ctermbg=236
|
highlight WildMenu cterm=none,reverse ctermfg=blue ctermbg=236
|
||||||
highlight CmdLine cterm=none ctermfg=255 ctermbg=236
|
highlight CmdLine cterm=none ctermfg=255 ctermbg=236
|
||||||
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
|
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
|
||||||
|
|
||||||
highlight Directory cterm=none ctermfg=blue ctermbg=default
|
highlight Directory cterm=none ctermfg=blue ctermbg=default
|
||||||
highlight Link cterm=none ctermfg=cyan ctermbg=default
|
highlight Link cterm=none ctermfg=cyan ctermbg=default
|
||||||
highlight BrokenLink cterm=none ctermfg=red ctermbg=default
|
highlight BrokenLink cterm=none ctermfg=red ctermbg=default
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
{ inputs, outputs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
inputs,
|
||||||
home-manager.extraSpecialArgs = { inherit inputs outputs; };
|
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;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -15,3 +14,4 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# vim: shiftwidth=2 tabstop=2 expandtab
|
# vim: shiftwidth=2 tabstop=2 expandtab
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
xdg.configFile."autostart" = {
|
xdg.configFile."autostart" = {
|
||||||
recursive = true;
|
recursive = true;
|
||||||
source = ./files/autostart;
|
source = ./files/autostart;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
gnome.gnome-boxes
|
gnome.gnome-boxes
|
||||||
libvirt
|
libvirt
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home-manager.users.don = {
|
home-manager.users.don = {
|
||||||
imports = [
|
imports = [
|
||||||
./alacritty.nix
|
./alacritty.nix
|
||||||
|
|
@ -13,97 +16,99 @@
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./terminals.nix
|
./terminals.nix
|
||||||
];
|
];
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs;
|
||||||
anonymousPro
|
[
|
||||||
at-spi2-core
|
anonymousPro
|
||||||
blueberry
|
at-spi2-core
|
||||||
clipman
|
blueberry
|
||||||
cura
|
clipman
|
||||||
darktable
|
cura
|
||||||
dmenu-wayland
|
darktable
|
||||||
element-desktop
|
dmenu-wayland
|
||||||
errands
|
element-desktop
|
||||||
firefox
|
errands
|
||||||
font-awesome
|
firefox
|
||||||
fractal
|
font-awesome
|
||||||
gnome.gnome-tweaks
|
fractal
|
||||||
gnome.simple-scan
|
gnome.gnome-tweaks
|
||||||
gnumeric
|
gnome.simple-scan
|
||||||
headset-charge-indicator
|
gnumeric
|
||||||
ibm-plex
|
headset-charge-indicator
|
||||||
imv
|
ibm-plex
|
||||||
jellyfin-media-player
|
imv
|
||||||
jetbrains-mono
|
jellyfin-media-player
|
||||||
kanshi
|
jetbrains-mono
|
||||||
libappindicator
|
kanshi
|
||||||
libnotify
|
libappindicator
|
||||||
libreoffice-fresh
|
libnotify
|
||||||
libsForQt5.kwallet
|
libreoffice-fresh
|
||||||
neovim-qt
|
libsForQt5.kwallet
|
||||||
nerdfonts
|
neovim-qt
|
||||||
networkmanagerapplet
|
nerdfonts
|
||||||
nextcloud-client
|
networkmanagerapplet
|
||||||
nvd
|
nextcloud-client
|
||||||
obsidian
|
nvd
|
||||||
overpass
|
obsidian
|
||||||
pasystray
|
overpass
|
||||||
pavucontrol
|
pasystray
|
||||||
poweralertd
|
pavucontrol
|
||||||
powerline-fonts
|
poweralertd
|
||||||
prusa-slicer
|
powerline-fonts
|
||||||
pwvucontrol
|
prusa-slicer
|
||||||
qpwgraph
|
pwvucontrol
|
||||||
quickemu
|
qpwgraph
|
||||||
quickgui
|
quickemu
|
||||||
qutebrowser
|
quickgui
|
||||||
rofi
|
qutebrowser
|
||||||
signal-desktop
|
rofi
|
||||||
shikane
|
signal-desktop
|
||||||
shortwave
|
shikane
|
||||||
source-code-pro
|
shortwave
|
||||||
sway-audio-idle-inhibit
|
source-code-pro
|
||||||
syncthingtray
|
sway-audio-idle-inhibit
|
||||||
telegram-desktop
|
syncthingtray
|
||||||
texlive.combined.scheme-medium
|
telegram-desktop
|
||||||
thunderbird
|
texlive.combined.scheme-medium
|
||||||
victor-mono
|
thunderbird
|
||||||
widevine-cdm
|
victor-mono
|
||||||
wofi
|
widevine-cdm
|
||||||
yt-dlp
|
wofi
|
||||||
] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
|
yt-dlp
|
||||||
|
]
|
||||||
|
++ 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" = [ "qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop" ];
|
"application/pdf" = ["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" = ["darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop"];
|
||||||
"image/x-adobe-dng" = [ "imv.desktop" ];
|
"image/x-adobe-dng" = ["imv.desktop"];
|
||||||
"inode/directory" = [ "thunar.desktop" ];
|
"inode/directory" = ["thunar.desktop"];
|
||||||
"text/plain" = [ "gvim.desktop" ];
|
"text/plain" = ["gvim.desktop"];
|
||||||
"x-scheme-handler/pdf" = [ "pdfview.desktop" ];
|
"x-scheme-handler/pdf" = ["pdfview.desktop"];
|
||||||
"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" ];
|
"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"];
|
||||||
};
|
};
|
||||||
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" = ["org.qutebrowser.qutebrowser.desktop"];
|
||||||
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
|
"application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"];
|
||||||
"x-scheme-handler/mailto" = [ "neomutt.desktop" ];
|
"x-scheme-handler/mailto" = ["neomutt.desktop"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
desktopEntries = {
|
desktopEntries = {
|
||||||
|
|
@ -129,7 +134,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";
|
||||||
|
|
@ -137,25 +142,25 @@
|
||||||
icon = "obsidian";
|
icon = "obsidian";
|
||||||
exec = "/home/don/bin/cooking-notebook";
|
exec = "/home/don/bin/cooking-notebook";
|
||||||
};
|
};
|
||||||
mynotes = {
|
mynotes = {
|
||||||
name = "My Notes";
|
name = "My Notes";
|
||||||
exec = "/home/don/bin/mynotes";
|
exec = "/home/don/bin/mynotes";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
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";
|
||||||
exec = "/home/don/bin/newjournal";
|
exec = "/home/don/bin/newjournal";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
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 = {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ fuzzel ];
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs; [fuzzel];
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
Loop=false
|
Loop=false
|
||||||
OneInstance=true
|
OneInstance=true
|
||||||
State=0
|
State=0
|
||||||
|
|
||||||
[Job1]
|
[Job1]
|
||||||
Command[$e]=$HOME/bin/timeup
|
Command[$e]=$HOME/bin/timeup
|
||||||
Consecutive=false
|
Consecutive=false
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
Loop=false
|
Loop=false
|
||||||
OneInstance=true
|
OneInstance=true
|
||||||
State=0
|
State=0
|
||||||
|
|
||||||
[Job2]
|
[Job2]
|
||||||
Command[$e]=$HOME/bin/timeup
|
Command[$e]=$HOME/bin/timeup
|
||||||
Consecutive=false
|
Consecutive=false
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
Loop=false
|
Loop=false
|
||||||
OneInstance=true
|
OneInstance=true
|
||||||
State=0
|
State=0
|
||||||
|
|
||||||
[Jobs]
|
[Jobs]
|
||||||
Number=3
|
Number=3
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,35 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs = {
|
programs = {
|
||||||
mpv = {
|
mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }) { youtubeSupport = true; };
|
# package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }) { youtubeSupport = true; };
|
||||||
config = {
|
config = {
|
||||||
cache="yes";
|
cache = "yes";
|
||||||
cache-on-disk="no";
|
cache-on-disk = "no";
|
||||||
cache-pause-initial="yes";
|
cache-pause-initial = "yes";
|
||||||
cache-pause-wait="5";
|
cache-pause-wait = "5";
|
||||||
cache-secs="3600";
|
cache-secs = "3600";
|
||||||
demuxer-cache-wait="no";
|
demuxer-cache-wait = "no";
|
||||||
demuxer-donate-buffer="yes";
|
demuxer-donate-buffer = "yes";
|
||||||
demuxer-max-back-bytes="244141KiB";
|
demuxer-max-back-bytes = "244141KiB";
|
||||||
demuxer-max-bytes="732422KiB";
|
demuxer-max-bytes = "732422KiB";
|
||||||
demuxer-readahead-secs="60";
|
demuxer-readahead-secs = "60";
|
||||||
demuxer-seekable-cache="auto";
|
demuxer-seekable-cache = "auto";
|
||||||
demuxer-thread="yes";
|
demuxer-thread = "yes";
|
||||||
force-seekable="yes";
|
force-seekable = "yes";
|
||||||
hls-bitrate="max";
|
hls-bitrate = "max";
|
||||||
hr-seek-framedrop="no";
|
hr-seek-framedrop = "no";
|
||||||
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";
|
||||||
video-reversal-buffer="488281KiB";
|
video-reversal-buffer = "488281KiB";
|
||||||
ytdl="yes";
|
ytdl = "yes";
|
||||||
ytdl-format="bestvideo+bestaudio";
|
ytdl-format = "bestvideo+bestaudio";
|
||||||
ytdl-raw-options="no-playlist=";
|
ytdl-raw-options = "no-playlist=";
|
||||||
};
|
};
|
||||||
profiles = {
|
profiles = {
|
||||||
"protocol.https" = {
|
"protocol.https" = {
|
||||||
|
|
@ -41,8 +40,7 @@
|
||||||
};
|
};
|
||||||
yt-dlp = {
|
yt-dlp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
|
||||||
--no-mtime
|
--no-mtime
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
programs.qutebrowser = {
|
programs.qutebrowser = {
|
||||||
enable = true;
|
enable = true;
|
||||||
loadAutoconfig = true;
|
loadAutoconfig = true;
|
||||||
|
|
@ -175,23 +174,22 @@
|
||||||
wikipedia = "https://www.wikipedia.org/";
|
wikipedia = "https://www.wikipedia.org/";
|
||||||
zoom = "https://zoom.us/";
|
zoom = "https://zoom.us/";
|
||||||
};
|
};
|
||||||
extraConfig =
|
extraConfig = ''
|
||||||
''
|
import dracula.draw
|
||||||
import dracula.draw
|
dracula.draw.blood(c, {
|
||||||
dracula.draw.blood(c, {
|
'spacing': {
|
||||||
'spacing': {
|
'vertical': 6,
|
||||||
'vertical': 6,
|
'horizontal': 8
|
||||||
'horizontal': 8
|
}
|
||||||
}
|
})
|
||||||
})
|
c.statusbar.padding = { 'top': 6, 'right': 8, 'bottom': 6, 'left': 8 }
|
||||||
c.statusbar.padding = { 'top': 6, 'right': 8, 'bottom': 6, 'left': 8 }
|
c.tabs.padding = { 'top': 1, 'right': 8, 'bottom': 1, 'left': 8 }
|
||||||
c.tabs.padding = { 'top': 1, 'right': 8, 'bottom': 1, 'left': 8 }
|
#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 = {
|
||||||
|
|
@ -228,14 +226,14 @@
|
||||||
};
|
};
|
||||||
fileselect = {
|
fileselect = {
|
||||||
folder = {
|
folder = {
|
||||||
command = ["kitty" "-e" "ranger" "--choosedir={}"];
|
command = ["kitty" "-e" "ranger" "--choosedir={}"];
|
||||||
};
|
};
|
||||||
handler = "external";
|
handler = "external";
|
||||||
multiple_files = {
|
multiple_files = {
|
||||||
command = ["kitty" "-e" "ranger" "--choosefile={}"];
|
command = ["kitty" "-e" "ranger" "--choosefile={}"];
|
||||||
};
|
};
|
||||||
single_file = {
|
single_file = {
|
||||||
command = ["kitty" "-e" "ranger" "--choosefile={}"];
|
command = ["kitty" "-e" "ranger" "--choosefile={}"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
qt = {
|
qt = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services.redshift = {
|
services.redshift = {
|
||||||
enable = true;
|
enable = true;
|
||||||
latitude = "29.74";
|
latitude = "29.74";
|
||||||
|
|
@ -13,8 +16,8 @@
|
||||||
brightness-night = "0.7";
|
brightness-night = "0.7";
|
||||||
# This *should work*
|
# This *should work*
|
||||||
#temperature = {
|
#temperature = {
|
||||||
#day = 6500;
|
#day = 6500;
|
||||||
#night = 3500;
|
#night = 3500;
|
||||||
#};
|
#};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
gnome-keyring = {
|
gnome-keyring = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
{ inputs, pkgs, hostname, outputs, osConfig, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
hostname,
|
||||||
|
outputs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
xdg.configFile."sway/config".source = ./files/sway/${osConfig.networking.hostName};
|
xdg.configFile."sway/config".source = ./files/sway/${osConfig.networking.hostName};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
swaylock = {
|
swaylock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -130,62 +136,61 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style =
|
style = ''
|
||||||
''
|
* {
|
||||||
* {
|
border: none; border-radius: 0;
|
||||||
border: none; border-radius: 0;
|
font-family: "JetBrains Mono", FontAwesome6Free, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif;
|
||||||
font-family: "JetBrains Mono", FontAwesome6Free, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif;
|
font-size: 10px; min-height: 0;
|
||||||
font-size: 10px; min-height: 0;
|
}
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(43, 48, 59, 0.5);
|
||||||
|
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
window#waybar.hidden { opacity: 0.0; }
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
border-bottom: 3px solid transparent;
|
||||||
}
|
}
|
||||||
window#waybar {
|
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
|
||||||
background: rgba(43, 48, 59, 0.5);
|
#workspaces button.urgent { background-color: #eb4d4b; }
|
||||||
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
|
||||||
color: #ffffff;
|
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
|
||||||
}
|
padding: 0 5px;
|
||||||
window#waybar.hidden { opacity: 0.0; }
|
margin: 0 0px;
|
||||||
#workspaces button {
|
}
|
||||||
padding: 0 5px;
|
#clock { background-color: #64727D; color: #f1fa8c; }
|
||||||
background: transparent;
|
#battery { color: #000000; background-color: #50fa7b; }
|
||||||
color: #ffffff;
|
#battery.warning { color: #000000; background-color: #ff79c6; }
|
||||||
border-bottom: 3px solid transparent;
|
#battery.critical { color: #ffffff; background-color: #ff5555; }
|
||||||
}
|
#battery.charging { color: #44475a; background-color: #50fa7b; }
|
||||||
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
|
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
|
||||||
#workspaces button.urgent { background-color: #eb4d4b; }
|
#battery.critical:not(.charging) {
|
||||||
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
|
background: #f53c3c; color: #ffffff;
|
||||||
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
|
animation-name: blink; animation-duration: 0.5s;
|
||||||
padding: 0 5px;
|
animation-timing-function: linear;
|
||||||
margin: 0 0px;
|
animation-iteration-count: infinite;
|
||||||
}
|
animation-direction: alternate;
|
||||||
#clock { background-color: #64727D; color: #f1fa8c; }
|
}
|
||||||
#battery { color: #000000; background-color: #50fa7b; }
|
#cpu { background: #2ecc71; color: #000000; }
|
||||||
#battery.warning { color: #000000; background-color: #ff79c6; }
|
#memory { background: #9b59b6; }
|
||||||
#battery.critical { color: #ffffff; background-color: #ff5555; }
|
#backlight { color: #000000; background: #90b1b1; }
|
||||||
#battery.charging { color: #44475a; background-color: #50fa7b; }
|
#bluetooth { background: #ffb86c; color: #000000; }
|
||||||
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
|
#network { background: #bd93f9; color: #000000; }
|
||||||
#battery.critical:not(.charging) {
|
#network.disconnected { background: #ff5555; }
|
||||||
background: #f53c3c; color: #ffffff;
|
#pulseaudio { background: #ffb86c; color: #000000; }
|
||||||
animation-name: blink; animation-duration: 0.5s;
|
#pulseaudio.muted { background: #90b1b1; color: #2a5c45; }
|
||||||
animation-timing-function: linear;
|
#custom-mytimew { background: #bd93f9; color: #000000; }
|
||||||
animation-iteration-count: infinite;
|
#custom-mymusic { background: #8be9fd; color: #000000; }
|
||||||
animation-direction: alternate;
|
#custom-mycal { background: #cccc99; color: #2a5c45; }
|
||||||
}
|
#temperature { background: #f0932b; }
|
||||||
#cpu { background: #2ecc71; color: #000000; }
|
#temperature.critical { background: #eb4d4b; }
|
||||||
#memory { background: #9b59b6; }
|
#tray { background-color: #64727D; }
|
||||||
#backlight { color: #000000; background: #90b1b1; }
|
#idle_inhibitor { background-color: #2d3436; }
|
||||||
#bluetooth { background: #ffb86c; color: #000000; }
|
#idle_inhibitor.activated { background-color: #ecf0f1; color: #2d3436; }
|
||||||
#network { background: #bd93f9; color: #000000; }
|
'';
|
||||||
#network.disconnected { background: #ff5555; }
|
};
|
||||||
#pulseaudio { background: #ffb86c; color: #000000; }
|
};
|
||||||
#pulseaudio.muted { background: #90b1b1; color: #2a5c45; }
|
|
||||||
#custom-mytimew { background: #bd93f9; color: #000000; }
|
|
||||||
#custom-mymusic { background: #8be9fd; color: #000000; }
|
|
||||||
#custom-mycal { background: #cccc99; color: #2a5c45; }
|
|
||||||
#temperature { background: #f0932b; }
|
|
||||||
#temperature.critical { background: #eb4d4b; }
|
|
||||||
#tray { background-color: #64727D; }
|
|
||||||
#idle_inhibitor { background-color: #2d3436; }
|
|
||||||
#idle_inhibitor.activated { background-color: #ecf0f1; color: #2d3436; }
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
{ config, pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
citrix_workspace
|
citrix_workspace
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home-manager.users.don = {
|
home-manager.users.don = {
|
||||||
imports = [
|
imports = [
|
||||||
./citrix.nix
|
./citrix.nix
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,22 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [ zoom-us ];
|
config,
|
||||||
|
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;
|
||||||
desktopEntries = {
|
desktopEntries = {
|
||||||
myzoom = {
|
myzoom = {
|
||||||
name = "My Zoom-Zoom";
|
name = "My Zoom-Zoom";
|
||||||
exec = "/home/don/bin/myzoom %u";
|
exec = "/home/don/bin/myzoom %u";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
type = "Application";
|
type = "Application";
|
||||||
icon = "Zoom";
|
icon = "Zoom";
|
||||||
comment = "Zoom Video";
|
comment = "Zoom Video";
|
||||||
mimeType = [ "x-scheme-handler/zoommtg" "x-scheme-handler/zoomus" "x-scheme-handler/tel" "x-scheme-handler/callto" "x-scheme-handler/zoomphonecall" "application/x-zoom" ];
|
mimeType = ["x-scheme-handler/zoommtg" "x-scheme-handler/zoomus" "x-scheme-handler/tel" "x-scheme-handler/callto" "x-scheme-handler/zoomphonecall" "application/x-zoom"];
|
||||||
categories = [ "Network" "Application""Application" ];
|
categories = ["Network" "Application" "Application"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,18 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
# ../disko/mmcblk.nix
|
pkgs,
|
||||||
../workstation
|
...
|
||||||
../themes.nix
|
}: {
|
||||||
../wm
|
imports = [
|
||||||
];
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
# ../disko/mmcblk.nix
|
||||||
|
../workstation
|
||||||
|
../themes.nix
|
||||||
|
../wm
|
||||||
|
];
|
||||||
networking.hostName = "ace";
|
networking.hostName = "ace";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,31 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "uas" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/mmcblk0p2";
|
device = "/dev/mmcblk0p2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/mmcblk0p1";
|
device = "/dev/mmcblk0p1";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# swapDevices =
|
# swapDevices =
|
||||||
# [ { device = "/dev/disk/by-uuid/8c445831-23e0-4508-85d0-54ea8cd3f80b"; }
|
# [ { device = "/dev/disk/by-uuid/8c445831-23e0-4508-85d0-54ea8cd3f80b"; }
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk = {
|
disk = {
|
||||||
vdb = {
|
vdb = {
|
||||||
|
|
@ -31,4 +37,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
config,
|
||||||
./hardware-configuration.nix
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
../../server
|
}: {
|
||||||
];
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../themes.nix
|
||||||
|
../../server
|
||||||
|
];
|
||||||
networking.hostName = "display";
|
networking.hostName = "display";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
{ inputs, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
config,
|
||||||
inputs.stylix.nixosModules.stylix
|
pkgs,
|
||||||
./hardware-configuration.nix
|
...
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
}: {
|
||||||
inputs.nixos-hardware.nixosModules.common-gpu-intel
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
./hardware-configuration.nix
|
||||||
../workstation
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
../themes.nix
|
inputs.nixos-hardware.nixosModules.common-gpu-intel
|
||||||
../wm
|
inputs.nixos-hardware.nixosModules.common-pc-laptop
|
||||||
];
|
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
|
../workstation
|
||||||
|
../themes.nix
|
||||||
|
../wm
|
||||||
|
];
|
||||||
networking.hostName = "dragon";
|
networking.hostName = "dragon";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,35 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
|
device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/E6F0-40A0";
|
device = "/dev/disk/by-uuid/E6F0-40A0";
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,21 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.nixos-hardware.nixosModules.google-pixelbook
|
lib,
|
||||||
inputs.stylix.nixosModules.stylix
|
config,
|
||||||
./hardware-configuration.nix
|
pkgs,
|
||||||
# ../disko/mmcblk.nix
|
...
|
||||||
../workstation
|
}: {
|
||||||
../workstation/games
|
imports = [
|
||||||
../themes.nix
|
inputs.nixos-hardware.nixosModules.google-pixelbook
|
||||||
../wm
|
inputs.stylix.nixosModules.stylix
|
||||||
../../home/work
|
./hardware-configuration.nix
|
||||||
];
|
# ../disko/mmcblk.nix
|
||||||
|
../workstation
|
||||||
|
../workstation/games
|
||||||
|
../themes.nix
|
||||||
|
../wm
|
||||||
|
../../home/work
|
||||||
|
];
|
||||||
networking.hostName = "eve";
|
networking.hostName = "eve";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,31 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/mmcblk0p2";
|
device = "/dev/mmcblk0p2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/mmcblk0p1";
|
device = "/dev/mmcblk0p1";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# swapDevices =
|
# swapDevices =
|
||||||
# [ { device = "/dev/disk/by-uuid/a7ae7629-f44f-4298-bf31-59c51cd95658"; }
|
# [ { device = "/dev/disk/by-uuid/a7ae7629-f44f-4298-bf31-59c51cd95658"; }
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
{
|
||||||
boot.kernelPatches = lib.singleton {
|
config,
|
||||||
name = "eve-config";
|
pkgs,
|
||||||
patch = null;
|
lib,
|
||||||
extraStructuredConfig = with lib.kernel; {
|
...
|
||||||
CROS_EC_I2C = module;
|
}: {
|
||||||
CROS_KBD_LED_BACKLIGHT = module;
|
boot.kernelPatches = lib.singleton {
|
||||||
I2C_HID_ACPI = yes;
|
name = "eve-config";
|
||||||
};
|
patch = null;
|
||||||
};
|
extraStructuredConfig = with lib.kernel; {
|
||||||
|
CROS_EC_I2C = module;
|
||||||
|
CROS_KBD_LED_BACKLIGHT = module;
|
||||||
|
I2C_HID_ACPI = yes;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../server
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
./podman.nix
|
}: {
|
||||||
];
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../server
|
||||||
|
../themes.nix
|
||||||
|
./podman.nix
|
||||||
|
];
|
||||||
networking.hostName = "fred";
|
networking.hostName = "fred";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,4 +37,3 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,33 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod"];
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
boot.initrd.kernelModules = ["dm-snapshot"];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
|
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/FAE7-A0C7";
|
device = "/dev/disk/by-uuid/FAE7-A0C7";
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
# 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;
|
||||||
|
|
@ -106,7 +108,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"
|
||||||
|
|
@ -136,7 +138,7 @@
|
||||||
|
|
||||||
# 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;
|
||||||
|
|
@ -145,8 +147,8 @@
|
||||||
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
|
||||||
|
|
@ -156,6 +158,6 @@
|
||||||
unitConfig = {
|
unitConfig = {
|
||||||
Description = "Root target generated by compose2nix.";
|
Description = "Root target generated by compose2nix.";
|
||||||
};
|
};
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = ["multi-user.target"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../../server
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../server
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "harper";
|
networking.hostName = "harper";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../../server
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../server
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "harper2";
|
networking.hostName = "harper2";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,22 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
|
lib,
|
||||||
inputs.stylix.nixosModules.stylix
|
config,
|
||||||
./hardware-configuration.nix
|
pkgs,
|
||||||
# ../disko/nvme.nix
|
...
|
||||||
../workstation
|
}: {
|
||||||
../workstation/kvm.nix
|
imports = [
|
||||||
../workstation/games
|
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
|
||||||
../wm
|
inputs.stylix.nixosModules.stylix
|
||||||
../themes.nix
|
./hardware-configuration.nix
|
||||||
../../home/work
|
# ../disko/nvme.nix
|
||||||
];
|
../workstation
|
||||||
|
../workstation/kvm.nix
|
||||||
|
../workstation/games
|
||||||
|
../wm
|
||||||
|
../themes.nix
|
||||||
|
../../home/work
|
||||||
|
];
|
||||||
networking.hostName = "loki";
|
networking.hostName = "loki";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,35 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/nvme0n1p2";
|
device = "/dev/nvme0n1p2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/nvme0n1p1";
|
device = "/dev/nvme0n1p1";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# swapDevices =
|
# swapDevices =
|
||||||
# [ { device = "/dev/disk/by-uuid/cc3e6f81-e0c6-41f7-a02e-49dcaf8b795a"; }
|
# [ { device = "/dev/disk/by-uuid/cc3e6f81-e0c6-41f7-a02e-49dcaf8b795a"; }
|
||||||
# ];
|
# ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.kernelModules = [ "axge" "ax88179_178a" ];
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
boot.kernelModules = ["axge" "ax88179_178a"];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../../server
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../server
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "nuwww";
|
networking.hostName = "nuwww";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../../server
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../server
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "pihole";
|
networking.hostName = "pihole";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
{ inputs, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
config,
|
||||||
inputs.stylix.nixosModules.stylix
|
pkgs,
|
||||||
./hardware-configuration.nix
|
...
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
}: {
|
||||||
inputs.nixos-hardware.nixosModules.common-gpu-intel
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
./hardware-configuration.nix
|
||||||
../workstation
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
../themes.nix
|
inputs.nixos-hardware.nixosModules.common-gpu-intel
|
||||||
../wm
|
inputs.nixos-hardware.nixosModules.common-pc-laptop
|
||||||
];
|
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
|
../workstation
|
||||||
|
../themes.nix
|
||||||
|
../wm
|
||||||
|
];
|
||||||
networking.hostName = "pocket2";
|
networking.hostName = "pocket2";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,31 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
|
device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/A327-E803";
|
device = "/dev/disk/by-uuid/A327-E803";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,27 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
my-python-packages = python-packages: with python-packages; [
|
|
||||||
pip
|
|
||||||
# pipx
|
|
||||||
python-dateutil
|
|
||||||
setuptools
|
|
||||||
requests
|
|
||||||
];
|
|
||||||
python-with-my-packages = pkgs.python3Full.withPackages my-python-packages;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
my-python-packages = python-packages:
|
||||||
|
with python-packages; [
|
||||||
|
pip
|
||||||
|
# pipx
|
||||||
|
python-dateutil
|
||||||
|
setuptools
|
||||||
|
requests
|
||||||
|
];
|
||||||
|
python-with-my-packages = pkgs.python3Full.withPackages my-python-packages;
|
||||||
|
in {
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
trusted-users = [ "root" "don" ];
|
trusted-users = ["root" "don"];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|
@ -24,13 +29,12 @@ in
|
||||||
options = "--delete-older-than 7d";
|
options = "--delete-older-than 7d";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
imports =
|
imports = [
|
||||||
[
|
../../home
|
||||||
../../home
|
./systemd.nix
|
||||||
./systemd.nix
|
./tailscale.nix
|
||||||
./tailscale.nix
|
./upgrade-diff.nix
|
||||||
./upgrade-diff.nix
|
];
|
||||||
];
|
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
@ -43,7 +47,6 @@ in
|
||||||
hardwareClockInLocalTime = false;
|
hardwareClockInLocalTime = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.utf8";
|
i18n.defaultLocale = "en_US.utf8";
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
|
|
@ -57,7 +60,7 @@ in
|
||||||
# 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;
|
||||||
|
|
@ -71,7 +74,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
kernel = {
|
kernel = {
|
||||||
sysctl = { "vm.swappiness" = 10;};
|
sysctl = {"vm.swappiness" = 10;};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -82,11 +85,13 @@ in
|
||||||
sudo.enable = false;
|
sudo.enable = false;
|
||||||
doas = {
|
doas = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [{
|
extraRules = [
|
||||||
users = [ "don" ];
|
{
|
||||||
keepEnv = true;
|
users = ["don"];
|
||||||
noPass = true;
|
keepEnv = true;
|
||||||
}];
|
noPass = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -132,7 +137,7 @@ in
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
initialPassword = "changeme";
|
initialPassword = "changeme";
|
||||||
description = "Don Harper";
|
description = "Don Harper";
|
||||||
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk" ];
|
extraGroups = ["networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk"];
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
|
||||||
];
|
];
|
||||||
|
|
@ -185,35 +190,53 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: super:{ khal = super.khal.overridePythonAttrs (_: { doCheck = false; }); })
|
(final: super: {khal = super.khal.overridePythonAttrs (_: {doCheck = false;});})
|
||||||
];
|
];
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
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 = [ { from = 1714 ; to = 1764; } ];
|
allowedTCPPortRanges = [
|
||||||
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
allowedUDPPortRanges = [
|
||||||
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# allow you to SSH in over the public internet
|
# allow you to SSH in over the public internet
|
||||||
allowedTCPPorts = [ 22 ];
|
allowedTCPPorts = [22];
|
||||||
interfaces = {
|
interfaces = {
|
||||||
"tailscale0" = {
|
"tailscale0" = {
|
||||||
allowedTCPPorts = [ 22 8080 8443 ];
|
allowedTCPPorts = [22 8080 8443];
|
||||||
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
|
allowedTCPPortRanges = [
|
||||||
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
allowedUDPPortRanges = [
|
||||||
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)
|
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
|
|
||||||
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 {
|
||||||
|
|
@ -8,7 +6,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";
|
||||||
|
|
@ -35,8 +33,8 @@ in {
|
||||||
};
|
};
|
||||||
timers = {
|
timers = {
|
||||||
detect-reboot-for-upgrade = {
|
detect-reboot-for-upgrade = {
|
||||||
wantedBy = [ "timers.target" ];
|
wantedBy = ["timers.target"];
|
||||||
partOf = [ "detect-reboot-for-upgrade.service" ];
|
partOf = ["detect-reboot-for-upgrade.service"];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnCalendar = "hourly";
|
OnCalendar = "hourly";
|
||||||
Unit = "detect-reboot-for-upgrade.service";
|
Unit = "detect-reboot-for-upgrade.service";
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
system.activationScripts.diff = {
|
system.activationScripts.diff = {
|
||||||
supportsDryActivation = true;
|
supportsDryActivation = true;
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,20 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
|
lib,
|
||||||
inputs.stylix.nixosModules.stylix
|
config,
|
||||||
./hardware-configuration.nix
|
pkgs,
|
||||||
# ../disko/sda.nix
|
...
|
||||||
../workstation
|
}: {
|
||||||
../wm
|
imports = [
|
||||||
../themes.nix
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
|
||||||
../../home/work
|
inputs.stylix.nixosModules.stylix
|
||||||
];
|
./hardware-configuration.nix
|
||||||
|
# ../disko/sda.nix
|
||||||
|
../workstation
|
||||||
|
../wm
|
||||||
|
../themes.nix
|
||||||
|
../../home/work
|
||||||
|
];
|
||||||
networking.hostName = "smaug";
|
networking.hostName = "smaug";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,31 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "uas" "sd_mod" "rtsx_pci_sdmmc"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/sda2";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/sda2";
|
device = "/dev/sda1";
|
||||||
fsType = "ext4";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/sda1";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
# swapDevices =
|
# swapDevices =
|
||||||
# [ { device = "/dev/sda3"; }
|
# [ { device = "/dev/sda3"; }
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
# 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;
|
||||||
|
|
@ -100,7 +102,7 @@
|
||||||
|
|
||||||
# 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;
|
||||||
|
|
@ -109,8 +111,8 @@
|
||||||
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
|
||||||
|
|
@ -120,6 +122,6 @@
|
||||||
unitConfig = {
|
unitConfig = {
|
||||||
Description = "Root target generated by compose2nix.";
|
Description = "Root target generated by compose2nix.";
|
||||||
};
|
};
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = ["multi-user.target"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,17 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../workstation
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
../wm
|
}: {
|
||||||
];
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../workstation
|
||||||
|
../themes.nix
|
||||||
|
../wm
|
||||||
|
];
|
||||||
networking.hostName = "t2";
|
networking.hostName = "t2";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,28 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ ];
|
boot.initrd.availableKernelModules = [];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/mmcblk0p2";
|
device = "/dev/mmcblk0p2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
stylix = {
|
stylix = {
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
|
||||||
image = ./feed-me.png;
|
image = ./feed-me.png;
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,15 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
./hardware-configuration.nix
|
lib,
|
||||||
../server
|
config,
|
||||||
../themes.nix
|
pkgs,
|
||||||
];
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../server
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "vm";
|
networking.hostName = "vm";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,35 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/vda3";
|
device = "/dev/vda3";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/vda1";
|
device = "/dev/vda1";
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
./hardware-configuration.nix
|
lib,
|
||||||
../themes.nix
|
config,
|
||||||
];
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "vm1";
|
networking.hostName = "vm1";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,35 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/vda3";
|
device = "/dev/vda3";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/vda1";
|
device = "/dev/vda1";
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
imports = [./sway];
|
||||||
imports = [ ./sway ];
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alacritty
|
alacritty
|
||||||
bemenu
|
bemenu
|
||||||
|
|
@ -22,7 +25,6 @@
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
|
|
@ -32,5 +34,4 @@
|
||||||
services.enable = true;
|
services.enable = true;
|
||||||
services.displayManager.sddm.enable = true;
|
services.displayManager.sddm.enable = true;
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
environment.systemPackages = with pkgs; [sddm-chili-theme];
|
||||||
environment.systemPackages = with pkgs; [ sddm-chili-theme ];
|
|
||||||
|
|
||||||
services.displayManager = {
|
services.displayManager = {
|
||||||
sddm = {
|
sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "chili";
|
theme = "chili";
|
||||||
wayland = {
|
wayland = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
let
|
|
||||||
dbus-sway-environment = pkgs.writeTextFile {
|
dbus-sway-environment = pkgs.writeTextFile {
|
||||||
name = "dbus-sway-environment";
|
name = "dbus-sway-environment";
|
||||||
destination = "/bin/dbus-sway-environment";
|
destination = "/bin/dbus-sway-environment";
|
||||||
|
|
@ -18,39 +17,38 @@ let
|
||||||
schema = pkgs.gsettings-desktop-schemas;
|
schema = pkgs.gsettings-desktop-schemas;
|
||||||
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||||
in ''
|
in ''
|
||||||
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||||
gnome_schema=org.gnome.desktop.interface
|
gnome_schema=org.gnome.desktop.interface
|
||||||
gsettings set $gnome_schema gtk-theme 'Dracula'
|
gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
environment.systemPackages = with pkgs; [
|
||||||
environment.systemPackages = with pkgs; [
|
alacritty
|
||||||
alacritty
|
bemenu
|
||||||
bemenu
|
configure-gtk
|
||||||
configure-gtk
|
dbus-sway-environment
|
||||||
dbus-sway-environment
|
dracula-theme # gtk theme
|
||||||
dracula-theme # gtk theme
|
glib
|
||||||
glib
|
gnome.adwaita-icon-theme
|
||||||
gnome.adwaita-icon-theme
|
grim
|
||||||
grim
|
mako
|
||||||
mako
|
slurp
|
||||||
slurp
|
sway
|
||||||
sway
|
swayidle
|
||||||
swayidle
|
swayimg
|
||||||
swayimg
|
swaylock-effects
|
||||||
swaylock-effects
|
swaynotificationcenter
|
||||||
swaynotificationcenter
|
waybar
|
||||||
waybar
|
wayland
|
||||||
wayland
|
wl-clipboard
|
||||||
wl-clipboard
|
];
|
||||||
];
|
services.dbus.enable = true;
|
||||||
services.dbus.enable = true;
|
programs = {
|
||||||
programs = {
|
sway = {
|
||||||
sway = {
|
enable = true;
|
||||||
enable = true;
|
wrapperFeatures.gtk = true;
|
||||||
wrapperFeatures.gtk = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services.greetd.package = "greetd.wlgreet";
|
};
|
||||||
}
|
services.greetd.package = "greetd.wlgreet";
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,27 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
my-python-packages = python-packages: with python-packages; [
|
|
||||||
pip
|
|
||||||
# pipx
|
|
||||||
python-dateutil
|
|
||||||
setuptools
|
|
||||||
requests
|
|
||||||
];
|
|
||||||
python-with-my-packages = pkgs.python3Full.withPackages my-python-packages;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
my-python-packages = python-packages:
|
||||||
|
with python-packages; [
|
||||||
|
pip
|
||||||
|
# pipx
|
||||||
|
python-dateutil
|
||||||
|
setuptools
|
||||||
|
requests
|
||||||
|
];
|
||||||
|
python-with-my-packages = pkgs.python3Full.withPackages my-python-packages;
|
||||||
|
in {
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
trusted-users = [ "root" "don" ];
|
trusted-users = ["root" "don"];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|
@ -24,15 +29,14 @@ in
|
||||||
options = "--delete-older-than 7d";
|
options = "--delete-older-than 7d";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
imports =
|
imports = [
|
||||||
[
|
../../home
|
||||||
../../home
|
../../home/gui
|
||||||
../../home/gui
|
./detect-reboot-needed.nix
|
||||||
./detect-reboot-needed.nix
|
./systemd.nix
|
||||||
./systemd.nix
|
./tailscale.nix
|
||||||
./tailscale.nix
|
./upgrade-diff.nix
|
||||||
./upgrade-diff.nix
|
];
|
||||||
];
|
|
||||||
|
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
@ -46,7 +50,6 @@ in
|
||||||
hardwareClockInLocalTime = false;
|
hardwareClockInLocalTime = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.utf8";
|
i18n.defaultLocale = "en_US.utf8";
|
||||||
i18n.inputMethod = {
|
i18n.inputMethod = {
|
||||||
|
|
@ -60,27 +63,27 @@ in
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
kernelParams = [ "consoleblank=60" ];
|
kernelParams = ["consoleblank=60"];
|
||||||
loader = if (pkgs.hostPlatform != lib.mkDefault "aarch64-linux") then
|
loader =
|
||||||
{
|
if (pkgs.hostPlatform != lib.mkDefault "aarch64-linux")
|
||||||
systemd-boot = {
|
then {
|
||||||
enable = true;
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
grub.enable = false;
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
};
|
};
|
||||||
efi = {
|
|
||||||
canTouchEfiVariables = true;
|
|
||||||
efiSysMountPoint = "/boot";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
grub.enable = false;
|
|
||||||
generic-extlinux-compatible.enable = true;
|
|
||||||
};
|
|
||||||
plymouth = {
|
plymouth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
kernel = {
|
kernel = {
|
||||||
sysctl = { "vm.swappiness" = 10;};
|
sysctl = {"vm.swappiness" = 10;};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -91,11 +94,13 @@ in
|
||||||
sudo.enable = false;
|
sudo.enable = false;
|
||||||
doas = {
|
doas = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [{
|
extraRules = [
|
||||||
users = [ "don" ];
|
{
|
||||||
keepEnv = true;
|
users = ["don"];
|
||||||
noPass = true;
|
keepEnv = true;
|
||||||
}];
|
noPass = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -173,7 +178,7 @@ in
|
||||||
};
|
};
|
||||||
sane = {
|
sane = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraBackends = [ pkgs.sane-airscan ];
|
extraBackends = [pkgs.sane-airscan];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
@ -191,7 +196,7 @@ in
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
initialPassword = "changeme";
|
initialPassword = "changeme";
|
||||||
description = "Don Harper";
|
description = "Don Harper";
|
||||||
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk" ];
|
extraGroups = ["networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk"];
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
|
||||||
];
|
];
|
||||||
|
|
@ -205,7 +210,7 @@ in
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ];
|
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
#(callPackage ../mypackages/kanshi-fix/default.nix {})
|
#(callPackage ../mypackages/kanshi-fix/default.nix {})
|
||||||
|
|
@ -267,36 +272,54 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: { qutebrowser = prev.qutebrowser.override { enableWideVine = true; }; })
|
(final: prev: {qutebrowser = prev.qutebrowser.override {enableWideVine = true;};})
|
||||||
(final: super:{ khal = super.khal.overridePythonAttrs (_: { doCheck = false; }); })
|
(final: super: {khal = super.khal.overridePythonAttrs (_: {doCheck = false;});})
|
||||||
];
|
];
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
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 = [ { from = 1714 ; to = 1764; } ];
|
allowedTCPPortRanges = [
|
||||||
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
allowedUDPPortRanges = [
|
||||||
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
# allow you to SSH in over the public internet
|
# allow you to SSH in over the public internet
|
||||||
allowedTCPPorts = [ 22 ];
|
allowedTCPPorts = [22];
|
||||||
interfaces = {
|
interfaces = {
|
||||||
"tailscale0" = {
|
"tailscale0" = {
|
||||||
allowedTCPPorts = [ 22 8080 8443 ];
|
allowedTCPPorts = [22 8080 8443];
|
||||||
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
|
allowedTCPPortRanges = [
|
||||||
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
allowedUDPPortRanges = [
|
||||||
|
{
|
||||||
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)
|
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
|
|
||||||
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 {
|
||||||
|
|
@ -20,8 +18,8 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.user.timers.detect-reboot-for-upgrade = {
|
systemd.user.timers.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";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
# GAMES!
|
# GAMES!
|
||||||
steam = {
|
steam = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
{ pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
environment.systemPackages = with pkgs; [ gnome.gnome-boxes ];
|
environment.systemPackages = with pkgs; [gnome.gnome-boxes];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{ pkgs, lib, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
let
|
lib,
|
||||||
|
...
|
||||||
|
}: 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 {
|
||||||
|
|
@ -10,7 +12,7 @@ in {
|
||||||
systemd-networkd-wait-online.enable = lib.mkForce false;
|
systemd-networkd-wait-online.enable = lib.mkForce false;
|
||||||
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";
|
||||||
|
|
@ -37,8 +39,8 @@ in {
|
||||||
};
|
};
|
||||||
timers = {
|
timers = {
|
||||||
detect-reboot-for-upgrade = {
|
detect-reboot-for-upgrade = {
|
||||||
wantedBy = [ "timers.target" ];
|
wantedBy = ["timers.target"];
|
||||||
partOf = [ "detect-reboot-for-upgrade.service" ];
|
partOf = ["detect-reboot-for-upgrade.service"];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnCalendar = "hourly";
|
OnCalendar = "hourly";
|
||||||
Unit = "detect-reboot-for-upgrade.service";
|
Unit = "detect-reboot-for-upgrade.service";
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
system.activationScripts.diff = {
|
system.activationScripts.diff = {
|
||||||
supportsDryActivation = true;
|
supportsDryActivation = true;
|
||||||
text = ''
|
text = ''
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,16 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
inputs,
|
||||||
[
|
outputs,
|
||||||
inputs.stylix.nixosModules.stylix
|
lib,
|
||||||
./hardware-configuration.nix
|
config,
|
||||||
../../server
|
pkgs,
|
||||||
../themes.nix
|
...
|
||||||
];
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../server
|
||||||
|
../themes.nix
|
||||||
|
];
|
||||||
networking.hostName = "www2";
|
networking.hostName = "www2";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,33 @@
|
||||||
# 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, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod"];
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
boot.initrd.kernelModules = ["dm-snapshot"];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
|
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/FAE7-A0C7";
|
device = "/dev/disk/by-uuid/FAE7-A0C7";
|
||||||
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
|
||||||
|
|
|
||||||
5
iso.nix
5
iso.nix
|
|
@ -1,7 +1,10 @@
|
||||||
# This module defines a small NixOS installation CD. It does not
|
# This module defines a small NixOS installation CD. It does not
|
||||||
# contain any graphical stuff.
|
# contain any graphical stuff.
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
|
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
{pkgs ? import <nixpkgs> {}}:
|
||||||
pkgs.callPackage ./derivation.nix {}
|
pkgs.callPackage ./derivation.nix {}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
{ stdenv }:
|
{stdenv}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "kanshi-fix-${version}";
|
name = "kanshi-fix-${version}";
|
||||||
version = "1.4";
|
version = "1.4";
|
||||||
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
nativeBuildInputs = [ ];
|
nativeBuildInputs = [];
|
||||||
buildInputs = [ ];
|
buildInputs = [];
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue