formated using alejandra

This commit is contained in:
Don Harper 2024-06-30 09:47:45 -05:00
parent 88a48b895c
commit 4b1114a616
92 changed files with 1377 additions and 1156 deletions

173
flake.nix
View file

@ -10,102 +10,101 @@
stylix.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{
outputs = inputs @ {
self,
nixpkgs,
nix,
nixos-hardware,
home-manager,
stylix,
...
}:
let
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
systems = [ "x86_64-linux" "aarch64-linux" ];
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs systems (system: import nixpkgs {
nixpkgs,
nix,
nixos-hardware,
home-manager,
stylix,
...
}: let
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
systems = ["x86_64-linux" "aarch64-linux"];
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs systems (system:
import nixpkgs {
inherit system;
config.allowUnfree = true;
});
in
{
inherit lib;
# nixosModules = import ./modules/nixos;
# homeManagerModules = import ./modules/home-manager;
# templates = import ./templates;
in {
inherit lib;
# nixosModules = import ./modules/nixos;
# homeManagerModules = import ./modules/home-manager;
# templates = import ./templates;
# overlays = import ./overlays { inherit inputs outputs; };
# overlays = import ./overlays { inherit inputs outputs; };
# packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; });
# devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
# formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt);
# packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; });
# devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; });
# formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt);
nixosConfigurations = {
# clients
ace = lib.nixosSystem {
modules = [ ./hosts/ace ];
specialArgs = { inherit inputs outputs; };
};
dragon = lib.nixosSystem {
modules = [ ./hosts/dragon ];
specialArgs = { inherit inputs outputs; };
};
eve = lib.nixosSystem {
modules = [ ./hosts/eve ];
specialArgs = { inherit inputs outputs; };
};
loki = lib.nixosSystem {
modules = [ ./hosts/loki ];
specialArgs = { inherit inputs outputs; };
};
nixosConfigurations = {
# clients
ace = lib.nixosSystem {
modules = [./hosts/ace];
specialArgs = {inherit inputs outputs;};
};
dragon = lib.nixosSystem {
modules = [./hosts/dragon];
specialArgs = {inherit inputs outputs;};
};
eve = lib.nixosSystem {
modules = [./hosts/eve];
specialArgs = {inherit inputs outputs;};
};
loki = lib.nixosSystem {
modules = [./hosts/loki];
specialArgs = {inherit inputs outputs;};
};
pocket2 = lib.nixosSystem {
modules = [ ./hosts/pocket2 ];
specialArgs = { inherit inputs outputs; };
};
smaug = lib.nixosSystem {
modules = [ ./hosts/smaug ];
specialArgs = { inherit inputs outputs; };
};
t2 = lib.nixosSystem {
modules = [ ./hosts/t2 ];
specialArgs = { inherit inputs outputs; };
};
pocket2 = lib.nixosSystem {
modules = [./hosts/pocket2];
specialArgs = {inherit inputs outputs;};
};
smaug = lib.nixosSystem {
modules = [./hosts/smaug];
specialArgs = {inherit inputs outputs;};
};
t2 = lib.nixosSystem {
modules = [./hosts/t2];
specialArgs = {inherit inputs outputs;};
};
# servers
display = lib.nixosSystem {
modules = [ ./hosts/display ];
specialArgs = { inherit inputs outputs; };
};
fred = lib.nixosSystem {
modules = [ ./hosts/fred ];
specialArgs = { inherit inputs outputs; };
};
vm = lib.nixosSystem {
modules = [ ./hosts/vm ];
specialArgs = { inherit inputs outputs; };
};
harper2 = lib.nixosSystem {
modules = [ ./hosts/harper2 ];
specialArgs = { inherit inputs outputs; };
};
harper = lib.nixosSystem {
modules = [ ./hosts/harper ];
specialArgs = { inherit inputs outputs; };
};
nuwww = lib.nixosSystem {
modules = [ ./hosts/nuwww ];
specialArgs = { inherit inputs outputs; };
};
pihole = lib.nixosSystem {
modules = [ ./hosts/pihole ];
specialArgs = { inherit inputs outputs; };
};
www2 = lib.nixosSystem {
modules = [ ./hosts/www2 ];
specialArgs = { inherit inputs outputs; };
};
# servers
display = lib.nixosSystem {
modules = [./hosts/display];
specialArgs = {inherit inputs outputs;};
};
fred = lib.nixosSystem {
modules = [./hosts/fred];
specialArgs = {inherit inputs outputs;};
};
vm = lib.nixosSystem {
modules = [./hosts/vm];
specialArgs = {inherit inputs outputs;};
};
harper2 = lib.nixosSystem {
modules = [./hosts/harper2];
specialArgs = {inherit inputs outputs;};
};
harper = lib.nixosSystem {
modules = [./hosts/harper];
specialArgs = {inherit inputs outputs;};
};
nuwww = lib.nixosSystem {
modules = [./hosts/nuwww];
specialArgs = {inherit inputs outputs;};
};
pihole = lib.nixosSystem {
modules = [./hosts/pihole];
specialArgs = {inherit inputs outputs;};
};
www2 = lib.nixosSystem {
modules = [./hosts/www2];
specialArgs = {inherit inputs outputs;};
};
};
};
}

View file

@ -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_aliases".source = files/bash/bash_aliases;
home.file.".bash_functions".source = files/bash/bash_functions;

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
home.file = {
doascomplete = {
enable = true;
@ -8,10 +8,10 @@
{
local cur prev words cword split
_init_completion -s || return
local i mode=normal
[[ ''$1 == *doasedit ]] && mode=edit
[[ ''$mode == normal ]] &&
for ((i = 1; i <= cword; i++)); do
if [[ ''${words[i]} != -* ]]; then
@ -23,16 +23,16 @@
[[ ''${words[i]} == -@(!(-*)[uUgCp]) ]] &&
((i++))
done
case "''$prev" in
-u)
COMPREPLY=(''$(compgen -u -- "''$cur"))
return
;;
esac
''$split && return
if [[ ''$cur == -* ]]; then
local opts=''$(_parse_help "''$1")
COMPREPLY=(''$(compgen -W ' ''${opts:-''$(_parse_usage "''$1")}' -- "''$cur"))
@ -103,33 +103,33 @@
################################################################################
#the following variable is substituted for by ../../test/bash_completion.t
taskcommand='task rc.verbose:nothing rc.confirmation:no rc.hooks:off'
_task_get_tags() {
''$taskcommand _tags
}
_task_get_config() {
''$taskcommand _config
}
_task_offer_priorities() {
COMPREPLY=( ''$(compgen -W "L M H" -- ''${cur/*:/}) )
}
_task_offer_projects() {
COMPREPLY=( ''$(compgen -W "''$(''$taskcommand _projects)" -- ''${cur/*:/}) )
}
_task_offer_contexts() {
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()
{
local cur prev opts base
COMPREPLY=()
cur="''${COMP_WORDS[COMP_CWORD]}"
prev="''${COMP_WORDS[COMP_CWORD-1]}"
@ -143,11 +143,11 @@
# echo -e "\ncur='''$cur'"
# echo "prev='''$prev'"
# echo "prev2='''$prev2'"
abbrev_min=''$(''$taskcommand show | grep "abbreviation.minimum" | awk {'print ''$2'})
commands_aliases=''$(echo ''$(''$taskcommand _commands; ''$taskcommand _aliases) | tr " " "\n"|sort|tr "\n" " ")
opts="''$commands_aliases ''$(''$taskcommand _columns)"
case "''${prev}" in
''$_task_context_alias|cont|conte|contex|context)
_task_offer_contexts
@ -237,7 +237,7 @@
esac
;;
esac
COMPREPLY=( ''$(compgen -W "''${opts}" -- ''${cur}) )
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"
}
function __get_subcommands()
{
case "''${1}" in
@ -269,17 +269,17 @@
;;
esac
}
function __get_help_items()
{
echo -e "''$( __get_commands ) interval hints date duration dom"
}
function __get_options()
{
echo -e "--help --verbose --version"
}
function __get_ids()
{
local count
@ -290,17 +290,17 @@
seq -f "@%g" 1 "''${count}"
fi
}
function __get_tags()
{
timew tags | tail -n +4 -- | sed -e "s|[[:space:]]*-''$||"
}
function __get_extensions()
{
timew extensions | awk '{if(NR>6)print ''$1}'
}
function __has_entered_id()
{
for word in "''${COMP_WORDS[@]}" ; do
@ -308,14 +308,14 @@
return 0
fi
done
return 1
}
function __has_entered_subcommand()
{
local subcommands=''$( __get_subcommands "''${1}" )
for word in "''${COMP_WORDS[@]}" ; do
for cmd in ''${subcommands} ; do
if [[ "''${word}" == "''${cmd}" ]] ; then
@ -323,14 +323,14 @@
fi
done
done
return 1
}
function __has_entered_help_item()
{
local items=''$( __get_help_items )
for word in "''${COMP_WORDS[@]:2}" ; do
for item in ''${items} ; do
if [[ "''${word}" == "''${item}" ]] ; then
@ -338,10 +338,10 @@
fi
done
done
return 1
}
function __is_entering_id()
{
if [[ "''${COMP_WORDS[COMP_CWORD]}" =~ @[0-9]* ]] ; then
@ -350,36 +350,36 @@
return 1
fi
}
function __complete_tag()
{
COMPREPLY=()
cur="''${COMP_WORDS[COMP_CWORD]}"
local line wordlist
declare -a wordlist
while IFS=''$'\n' read -r line ; do
wordlist+=( "''${line}" )
done <<< "''$( __get_tags )"
declare -a completions
while read -r line ; do
completions+=( "''${line}" )
done < <( compgen -W "''$(printf '%q ' "''${wordlist[@]}")" -- "''${cur}" 2>/dev/null )
for completion in "''${completions[@]}" ; do
COMPREPLY+=( "''$(printf "%q" "''${completion}")" )
done
}
function _timew()
{
local cur first wordlist
COMPREPLY=()
cur="''${COMP_WORDS[COMP_CWORD]}"
first="''${COMP_WORDS[1]}"
case "''${first}" in
cancel|config|diagnostics|day|extensions|get|month|show|undo|week)
wordlist=""
@ -425,10 +425,10 @@
wordlist=''$( __get_commands )
;;
esac
COMPREPLY=(''$( compgen -W "''${wordlist}" -- "''${cur}" ))
}
complete -F _timew timew
complete -F _timew tt
'';

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
#home.packages = with pkgs; [ btop ];
programs.btop = {
enable = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.neovim = {
plugins = with pkgs.vimPlugins; [
{
@ -22,12 +21,12 @@
fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
},
buffer_visible = {
fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
},
close_button = {
fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
@ -36,7 +35,7 @@
fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
},
tab_selected = {
fg = { attribute = "fg", highlight = "Normal" },
bg = { attribute = "bg", highlight = "Normal" },
@ -49,7 +48,7 @@
fg = { attribute = "fg", highlight = "TabLineSel" },
bg = { attribute = "bg", highlight = "Normal" },
},
duplicate_selected = {
fg = { attribute = "fg", highlight = "TabLineSel" },
bg = { attribute = "bg", highlight = "TabLineSel" },
@ -65,7 +64,7 @@
bg = { attribute = "bg", highlight = "TabLine" },
italic = true,
},
modified = {
fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
@ -78,7 +77,7 @@
fg = { attribute = "fg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
},
separator = {
fg = { attribute = "bg", highlight = "TabLine" },
bg = { attribute = "bg", highlight = "TabLine" },
@ -99,3 +98,4 @@
};
}
# vim: shiftwidth=2 tabstop=2 expandtab

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
imports = [
./bash.nix
./btop.nix

View file

@ -1,6 +1,8 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}: {
programs.lazygit = {
settings = {
os.editPreset = "lvim";

View file

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

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ khal ];
{pkgs, ...}: {
home.packages = with pkgs; [khal];
xdg.configFile."khal/config".text = ''
[calendars]
[[work]]

View file

@ -1,12 +1,15 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.khard = {
enable = true;
settings = {
general = {
default_action = "list";
editor = "${pkgs.neovim}/bin/nvim";
merge_editor = [ "${pkgs.neovim}/bin/nvim" "-d" ];
merge_editor = ["${pkgs.neovim}/bin/nvim" "-d"];
};
"contact table" = {
display = "first_name";
@ -16,11 +19,11 @@
show_uids = "no";
sort = "last_name";
localize_dates = "yes";
preferred_phone_number_type = [ "pref" "cell" "home" ];
preferred_email_address_type = [ "pref" "work" "home" ];
preferred_phone_number_type = ["pref" "cell" "home"];
preferred_email_address_type = ["pref" "work" "home"];
};
vcard = {
private_objects = [ "Jabber" "Skype" "Twitter" "Mastodon" ];
private_objects = ["Jabber" "Skype" "Twitter" "Mastodon"];
preferred_version = "3.0";
search_in_source_files = "no";
skip_unparsable = "no";

View file

@ -1,6 +1,8 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}: {
xdg.configFile."lf/icons".source = ./icons;
programs.lf = {
@ -8,16 +10,15 @@
commands = {
editor-open = ''$$EDITOR $f'';
mkdir = ''
''${{
printf "Directory Name: "
read DIR
mkdir $DIR
}}
''${{
printf "Directory Name: "
read DIR
mkdir $DIR
}}
'';
};
keybindings = {
"\\\"" = "";
o = "";
c = "mkdir";
@ -27,7 +28,7 @@
"<enter>" = "open";
"<delete>" = "delete";
"dd" = "delete";
"g~" = "cd";
gh = "cd";
"g/" = "/";
@ -45,28 +46,25 @@
ignorecase = true;
};
extraConfig =
let
previewer =
pkgs.writeShellScriptBin "pv.sh" ''
extraConfig = let
previewer = pkgs.writeShellScriptBin "pv.sh" ''
file=$1
w=$2
h=$3
x=$4
y=$5
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
exit 1
fi
${pkgs.pistol}/bin/pistol "$file"
'';
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
${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 previewer ${previewer}/bin/pv.sh
'';

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ liquidprompt ];
{pkgs, ...}: {
home.packages = with pkgs; [liquidprompt];
xdg.configFile."liquidpromptrc".text = ''
source ~/.config/liquidprompt.theme
LOCAL_RCFILE=$HOME/.config/liquidpromptrc.local

View file

@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ listadmin ];
config,
pkgs,
...
}: {
home.packages = with pkgs; [listadmin];
home.file."listadmin.ini" = {
enable = true;
target = ".listadmin.ini";
@ -18,4 +21,3 @@
'';
};
}

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
accounts.email.accounts = {
"don@donharper.org" = {
primary = true;
@ -14,8 +17,8 @@
programs.notmuch = {
enable = true;
new = {
tags = [ "unread" ];
ignore = [ ".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock" ];
tags = ["unread"];
ignore = [".mbsyncstate" ".uidvalidity" ".mbsyncstate.journal" ".mbsyncstate.new" ".mbsyncstate.lock"];
};
extraConfig = {
database = {
@ -30,12 +33,12 @@
home.file.".signature".text = ''
--
--
Don Harper
'';
systemd.user = {
timers.mbsync = {
systemd.user = {
timers.mbsync = {
Timer = {
OnUnitActiveSec = "5m";
AccuracySec = "1m";
@ -46,26 +49,26 @@
};
services.mbsync = {
Service = {
ExecStart = "/home/don/bin/mbsync";
Service = {
ExecStart = "/home/don/bin/mbsync";
Environment = "PATH=/run/current-system/sw/bin";
Type = "oneshot";
};
Type = "oneshot";
};
Install = {
WantedBy = [ "mbsync.timer" ];
WantedBy = ["mbsync.timer"];
};
};
services."mbsync-all" = {
Service = {
ExecStart = "/home/don/bin/mbsync gmail";
Service = {
ExecStart = "/home/don/bin/mbsync gmail";
Environment = "PATH=/run/current-system/sw/bin";
Type = "oneshot";
};
Type = "oneshot";
};
Install = {
WantedBy = ["mbsync-all.timer"];
};
};
};
timers."mbsync-all" = {
Timer = {
@ -75,6 +78,6 @@
Install = {
WantedBy = ["timers.target"];
};
};
};
};
}

View file

@ -1,6 +1,8 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}: {
services = {
mopidy = {
enable = true;

View file

@ -1,13 +1,15 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.neovim = {
enable = true;
defaultEditor = false;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
extraConfig =
''
extraConfig = ''
colorscheme dracula
set backspace="indent,eol,start"
set autoindent
@ -29,7 +31,7 @@
"set listchars="eol:,tab:·,trail:,nbsp:"
set background=dark
set laststatus=2
set t_Co=256
set t_Co=256
let g:ale_linters = { 'nix': ['statix']}
let g:vimwiki_list = [{'path': '~/org/', 'syntax': 'markdown', 'ext': '.md'}]
let g:vimwiki_global_ext = 0
@ -39,7 +41,7 @@
CheckAttach
Recover-vim
Shade-nvim # color
SpaceCamp # color
SpaceCamp # color
#YouCompleteMe
ale
ansible-vim

View file

@ -1,20 +1,22 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.newsboat = {
enable = true;
autoReload = true;
browser = "~/bin/myweb";
reloadThreads = 4;
reloadThreads = 4;
reloadTime = 45;
extraConfig =
''
extraConfig = ''
article-sort-order date
bind-key D mark-feed-read
bind-key D mark-feed-read
bind-key J next-feed
bind-key K prev-feed
bind-key N toggle-article-read
bind-key SPACE open
bind-key a mark-feed-read
bind-key a mark-feed-read
bind-key d toggle-article-read
bind-key i quit
bind-key j next

View file

@ -1,6 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ taskwarrior taskwarrior-tui tasksh vit timewarrior ];
{pkgs, ...}: {
home.packages = with pkgs; [taskwarrior taskwarrior-tui tasksh vit timewarrior];
programs.taskwarrior = {
enable = true;
colorTheme = "dark-green-256";

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.tmux = {
enable = true;
aggressiveResize = true;
@ -21,106 +20,103 @@
pkgs.tmuxPlugins.vim-tmux-navigator
{
plugin = pkgs.tmuxPlugins.online-status;
extraConfig =
''
set -g @online_icon "ok"
set -g @offline_icon "offline!"
'';
}
{
plugin = pkgs.tmuxPlugins.dracula;
extraConfig =
''
set -g @dracula-plugins "cpu-usage network battery weather time"
set -g @dracula-border-contrast true
set -g @dracula-refresh-rate 10
set -g @dracula-show-left-icon session
set -g @dracula-border-contrast true
set -g @dracula-show-powerline true
set -g @dracula-synchronize-panes-label "Sync"
set -g @dracula-show-flags true
set -g @dracula-show-timezone false
set -g @dracula-fixed-location "Katy, Texas"
set -g @dracula-show-location false
'';
}
];
extraConfig =
''
bind '~' split-window "exec btop"
bind - split-window -v -c "#{pane_current_path}"
bind | split-window -h -c "#{pane_current_path}"
bind -n C-1 select-window -t 11
bind -n C-2 select-window -t 12
bind -n C-3 select-window -t 13
bind -n C-4 select-window -t 14
bind -n C-left swap-window -t -1
bind -n C-right swap-window -t +1
bind -n S-down new-window
bind -n S-left prev
bind -n S-right next
bind 0 select-window -t 10
bind 1 select-window -t 1
bind 2 select-window -t 2
bind 3 select-window -t 3
bind 4 select-window -t 4
bind 5 select-window -t 5
bind 6 select-window -t 6
bind 7 select-window -t 7
bind 8 select-window -t 8
bind 9 select-window -t 9
bind C-0 select-window -t 20
bind C-5 select-window -t 15
bind C-6 select-window -t 16
bind C-7 select-window -t 17
bind C-8 select-window -t 18
bind C-9 select-window -t 19
bind C-c run "tmux show-buffer | wl-copy"
bind C-t neww -n vit "exec vit"
bind C-v run "tmux set-buffer -- \"$(wl-paste)\"; tmux paste-buffer"
bind F1 select-window -t 11
bind F10 select-window -t 20
bind F2 select-window -t 12
bind F3 select-window -t 13
bind F4 select-window -t 14
bind F5 select-window -t 15
bind F6 select-window -t 16
bind F7 select-window -t 17
bind F8 select-window -t 18
bind F9 select-window -t 19
bind I neww -n khal "exec ikhal"
bind K split-window -h "exec ikhal"
bind S split-window -v -l 5
bind Tab choose-window
bind ^b last-window
bind e setw synchronize-panes
bind g select-layout tiled
bind o select-pane -t :.-
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlscan" '$SHELL -c "urlscan -c -d < /tmp/tmux-buffer"'
set -g bell-action any
set -g buffer-limit 9
set -g display-panes-active-colour red
set -g display-panes-colour blue
set -g display-panes-time 1000
set -g display-time 750
set -g focus-events on
set -g lock-after-time 120
set -g lock-command 'tty | grep -q "^/dev/tty" && vlock'
set -g renumber-windows off
set -g set-titles on
set -g set-titles-string "#S:#I:#W - "#T""
set -g status on
set -g status-interval 0
set -g status-interval 15
set -g status-justify left
set -g status-position top
set -g visual-activity off
set -g visual-bell off
set -sa terminal-features ',tmux-256color:RGB'
set -sa terminal-overrides ",tmux-256color:RGB"
set -sg escape-time 0
'';
};
extraConfig = ''
set -g @online_icon "ok"
set -g @offline_icon "offline!"
'';
}
{
plugin = pkgs.tmuxPlugins.dracula;
extraConfig = ''
set -g @dracula-plugins "cpu-usage network battery weather time"
set -g @dracula-border-contrast true
set -g @dracula-refresh-rate 10
set -g @dracula-show-left-icon session
set -g @dracula-border-contrast true
set -g @dracula-show-powerline true
set -g @dracula-synchronize-panes-label "Sync"
set -g @dracula-show-flags true
set -g @dracula-show-timezone false
set -g @dracula-fixed-location "Katy, Texas"
set -g @dracula-show-location false
'';
}
];
extraConfig = ''
bind '~' split-window "exec btop"
bind - split-window -v -c "#{pane_current_path}"
bind | split-window -h -c "#{pane_current_path}"
bind -n C-1 select-window -t 11
bind -n C-2 select-window -t 12
bind -n C-3 select-window -t 13
bind -n C-4 select-window -t 14
bind -n C-left swap-window -t -1
bind -n C-right swap-window -t +1
bind -n S-down new-window
bind -n S-left prev
bind -n S-right next
bind 0 select-window -t 10
bind 1 select-window -t 1
bind 2 select-window -t 2
bind 3 select-window -t 3
bind 4 select-window -t 4
bind 5 select-window -t 5
bind 6 select-window -t 6
bind 7 select-window -t 7
bind 8 select-window -t 8
bind 9 select-window -t 9
bind C-0 select-window -t 20
bind C-5 select-window -t 15
bind C-6 select-window -t 16
bind C-7 select-window -t 17
bind C-8 select-window -t 18
bind C-9 select-window -t 19
bind C-c run "tmux show-buffer | wl-copy"
bind C-t neww -n vit "exec vit"
bind C-v run "tmux set-buffer -- \"$(wl-paste)\"; tmux paste-buffer"
bind F1 select-window -t 11
bind F10 select-window -t 20
bind F2 select-window -t 12
bind F3 select-window -t 13
bind F4 select-window -t 14
bind F5 select-window -t 15
bind F6 select-window -t 16
bind F7 select-window -t 17
bind F8 select-window -t 18
bind F9 select-window -t 19
bind I neww -n khal "exec ikhal"
bind K split-window -h "exec ikhal"
bind S split-window -v -l 5
bind Tab choose-window
bind ^b last-window
bind e setw synchronize-panes
bind g select-layout tiled
bind o select-pane -t :.-
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlscan" '$SHELL -c "urlscan -c -d < /tmp/tmux-buffer"'
set -g bell-action any
set -g buffer-limit 9
set -g display-panes-active-colour red
set -g display-panes-colour blue
set -g display-panes-time 1000
set -g display-time 750
set -g focus-events on
set -g lock-after-time 120
set -g lock-command 'tty | grep -q "^/dev/tty" && vlock'
set -g renumber-windows off
set -g set-titles on
set -g set-titles-string "#S:#I:#W - "#T""
set -g status on
set -g status-interval 0
set -g status-interval 15
set -g status-justify left
set -g status-position top
set -g visual-activity off
set -g visual-bell off
set -sa terminal-features ',tmux-256color:RGB'
set -sa terminal-overrides ",tmux-256color:RGB"
set -sg escape-time 0
'';
};
xdg.configFile."tmuxinator" = {
recursive = true;
source = ./files/tmuxinator;
@ -131,20 +127,20 @@
enable = true;
target = ".tmux-cssh";
text = ''
vps:-sc www -sc nuwww
local:-sc harper -sc mini -sc display -sc harper2 -sc pihole -sc fred
server:-cs vps -cs local
laptop:-sc loki -sc dragon
arch:-sc harper -sc pihole -sc nuwww -sc display
nix:-sc loki -sc eve -sc smaug
nix-all:-cs nix -sc dragon -sc ace -sc pocket2 -sc fred
ubuntu:-sc mini -sc www -sc harper2
vm:-sc vm1 -sc vm2
all-laptop:-cs laptop -sc smaug -sc dragon -sc pocket2 -sc ace -sc eve
# -sc pine
#all:-cs server -cs laptop
all:-cs server -cs all-laptop
test:-cs all -cs vm
vps:-sc www -sc nuwww
local:-sc harper -sc mini -sc display -sc harper2 -sc pihole -sc fred
server:-cs vps -cs local
laptop:-sc loki -sc dragon
arch:-sc harper -sc pihole -sc nuwww -sc display
nix:-sc loki -sc eve -sc smaug
nix-all:-cs nix -sc dragon -sc ace -sc pocket2 -sc fred
ubuntu:-sc mini -sc www -sc harper2
vm:-sc vm1 -sc vm2
all-laptop:-cs laptop -sc smaug -sc dragon -sc pocket2 -sc ace -sc eve
# -sc pine
#all:-cs server -cs laptop
all:-cs server -cs all-laptop
test:-cs all -cs vm
'';
};
};

View file

@ -1,11 +1,15 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ todoman ];
xdg.configFile."todoman/config.py".text = /* python */ ''
path = "~/.config/vdirsyncer/storage/calendar/*"
date_format = "%Y-%m-%d"
time_format = "%H:%M"
default_list = "duckunix@gmail.com"
# default_due = 48
default_command = "list --startable"
'';
{pkgs, ...}: {
home.packages = with pkgs; [todoman];
xdg.configFile."todoman/config.py".text =
/*
python
*/
''
path = "~/.config/vdirsyncer/storage/calendar/*"
date_format = "%Y-%m-%d"
time_format = "%H:%M"
default_list = "duckunix@gmail.com"
# default_due = 48
default_command = "list --startable"
'';
}

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
programs.topgrade = {
enable = true;
settings = {
@ -23,7 +26,7 @@
set_title = false;
cleanup = true;
#commands = {
#"Run garbage collection on Nix store" = "nix-collect-garbage";
#"Run garbage collection on Nix store" = "nix-collect-garbage";
#};
};
git = {

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ vifm-full ];
{pkgs, ...}: {
home.packages = with pkgs; [vifm-full];
xdg.configFile."vifm/vifmrc".text = ''
" vim: filetype=vifm :
set runexec
@ -17,7 +17,7 @@
" VIFM COLORS
" dracula
" based on: https://github.com/istib/dotfiles/blob/master/vifm/vifm-colors
" Default = -1 = None, can be used for transparency or default color
" Black = 0
" Red = 1
@ -27,31 +27,31 @@
" Magenta = 5
" Cyan = 6
" White = 7
" STYLES
" bold
" underline
" reverse or inverse
" standout
" none
highlight clear
highlight Win cterm=none ctermfg=default ctermbg=none
highlight TopLine cterm=none ctermfg=blue ctermbg=none
highlight TopLineSel cterm=none ctermfg=magenta ctermbg=none
highlight StatusLine cterm=none ctermfg=blue ctermbg=none
highlight Border cterm=none ctermfg=blue ctermbg=none
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
highlight CurrLine cterm=bold ctermfg=236 ctermbg=blue
highlight WildMenu cterm=none,reverse ctermfg=blue ctermbg=236
highlight CmdLine cterm=none ctermfg=255 ctermbg=236
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
highlight Directory cterm=none ctermfg=blue ctermbg=default
highlight Link cterm=none ctermfg=cyan ctermbg=default
highlight BrokenLink cterm=none ctermfg=red ctermbg=default

View file

@ -1,8 +1,10 @@
{ inputs, outputs, ... }:
{
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager.extraSpecialArgs = { inherit inputs outputs; };
inputs,
outputs,
...
}: {
imports = [inputs.home-manager.nixosModules.home-manager];
home-manager.extraSpecialArgs = {inherit inputs outputs;};
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.alacritty = {
enable = true;
settings = {
@ -15,3 +14,4 @@
};
}
# vim: shiftwidth=2 tabstop=2 expandtab

View file

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

View file

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

View file

@ -1,5 +1,8 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
...
}: {
home-manager.users.don = {
imports = [
./alacritty.nix
@ -13,97 +16,99 @@
./sway.nix
./terminals.nix
];
home.packages = with pkgs; [
anonymousPro
at-spi2-core
blueberry
clipman
cura
darktable
dmenu-wayland
element-desktop
errands
firefox
font-awesome
fractal
gnome.gnome-tweaks
gnome.simple-scan
gnumeric
headset-charge-indicator
ibm-plex
imv
jellyfin-media-player
jetbrains-mono
kanshi
libappindicator
libnotify
libreoffice-fresh
libsForQt5.kwallet
neovim-qt
nerdfonts
networkmanagerapplet
nextcloud-client
nvd
obsidian
overpass
pasystray
pavucontrol
poweralertd
powerline-fonts
prusa-slicer
pwvucontrol
qpwgraph
quickemu
quickgui
qutebrowser
rofi
signal-desktop
shikane
shortwave
source-code-pro
sway-audio-idle-inhibit
syncthingtray
telegram-desktop
texlive.combined.scheme-medium
thunderbird
victor-mono
widevine-cdm
wofi
yt-dlp
] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
home.packages = with pkgs;
[
anonymousPro
at-spi2-core
blueberry
clipman
cura
darktable
dmenu-wayland
element-desktop
errands
firefox
font-awesome
fractal
gnome.gnome-tweaks
gnome.simple-scan
gnumeric
headset-charge-indicator
ibm-plex
imv
jellyfin-media-player
jetbrains-mono
kanshi
libappindicator
libnotify
libreoffice-fresh
libsForQt5.kwallet
neovim-qt
nerdfonts
networkmanagerapplet
nextcloud-client
nvd
obsidian
overpass
pasystray
pavucontrol
poweralertd
powerline-fonts
prusa-slicer
pwvucontrol
qpwgraph
quickemu
quickgui
qutebrowser
rofi
signal-desktop
shikane
shortwave
source-code-pro
sway-audio-idle-inhibit
syncthingtray
telegram-desktop
texlive.combined.scheme-medium
thunderbird
victor-mono
widevine-cdm
wofi
yt-dlp
]
++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
xdg = {
mimeApps = {
enable = true;
associations.added = {
"application/octet-stream" = [ "gvim.desktop" ];
"application/pdf" = [ "qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop" ];
"audio/mpeg" = [ "org.kde.kid3.desktop" ];
"image/jpeg" = [ "darktable.desktop;gimp.desktop;imv.desktop" ];
"image/png" = [ "darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop" ];
"image/x-adobe-dng" = [ "imv.desktop" ];
"inode/directory" = [ "thunar.desktop" ];
"text/plain" = [ "gvim.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" ];
"application/octet-stream" = ["gvim.desktop"];
"application/pdf" = ["qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop"];
"audio/mpeg" = ["org.kde.kid3.desktop"];
"image/jpeg" = ["darktable.desktop;gimp.desktop;imv.desktop"];
"image/png" = ["darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop"];
"image/x-adobe-dng" = ["imv.desktop"];
"inode/directory" = ["thunar.desktop"];
"text/plain" = ["gvim.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"];
};
defaultApplications = {
"inode/directory" = [ "thunar.desktop" ];
"model/3mf" = [ "com.ultimaker.cura.desktop" ];
"model/gltf+json" = [ "com.ultimaker.cura.desktop" ];
"model/gltf-binary" = [ "com.ultimaker.cura.desktop" ];
"model/stl" = [ "com.ultimaker.cura.desktop" ];
"text/html" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/about" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/etcher" = [ "balena-etcher.desktop" ];
"x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/https" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
"x-scheme-handler/pdf" = [ "myweb.desktop" ];
"x-scheme-handler/tg" = [ "userapp-Telegram Desktop-LOTG11.desktop" ];
"x-scheme-handler/tootle" = [ "com.github.bleakgrey.tootle.desktop" ];
"x-scheme-handler/unknown" = [ "org.qutebrowser.qutebrowser.desktop" ];
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
"x-scheme-handler/mailto" = [ "neomutt.desktop" ];
"inode/directory" = ["thunar.desktop"];
"model/3mf" = ["com.ultimaker.cura.desktop"];
"model/gltf+json" = ["com.ultimaker.cura.desktop"];
"model/gltf-binary" = ["com.ultimaker.cura.desktop"];
"model/stl" = ["com.ultimaker.cura.desktop"];
"text/html" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/about" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/etcher" = ["balena-etcher.desktop"];
"x-scheme-handler/http" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/https" = ["org.qutebrowser.qutebrowser.desktop"];
"x-scheme-handler/msteams" = ["teams-for-linux.desktop"];
"x-scheme-handler/pdf" = ["myweb.desktop"];
"x-scheme-handler/tg" = ["userapp-Telegram Desktop-LOTG11.desktop"];
"x-scheme-handler/tootle" = ["com.github.bleakgrey.tootle.desktop"];
"x-scheme-handler/unknown" = ["org.qutebrowser.qutebrowser.desktop"];
"application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"];
"x-scheme-handler/mailto" = ["neomutt.desktop"];
};
};
desktopEntries = {
@ -129,7 +134,7 @@
terminal = false;
name = "myweb";
exec = "/home/don/bin/myweb %u";
mimeType = [ "x-scheme-handler/pdf" ];
mimeType = ["x-scheme-handler/pdf"];
};
cooking-notebook = {
type = "Application";
@ -137,25 +142,25 @@
icon = "obsidian";
exec = "/home/don/bin/cooking-notebook";
};
mynotes = {
mynotes = {
name = "My Notes";
exec = "/home/don/bin/mynotes";
terminal = false;
type = "Application";
icon = "obsidian";
comment = "Obsidian";
mimeType = [ "x-scheme-handler/obsidian" ];
categories = [ "Office" ];
mimeType = ["x-scheme-handler/obsidian"];
categories = ["Office"];
};
journal = {
journal = {
name = "Journal";
exec = "/home/don/bin/newjournal";
terminal = false;
type = "Application";
icon = "obsidian";
comment = "Obsidian Journal";
mimeType = [ "x-scheme-handler/obsidian" ];
categories = [ "Office" ];
mimeType = ["x-scheme-handler/obsidian"];
categories = ["Office"];
};
};
configFile = {

View file

@ -1,6 +1,9 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ fuzzel ];
config,
pkgs,
...
}: {
home.packages = with pkgs; [fuzzel];
programs.fuzzel = {
enable = true;
settings = {

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ ktimer ];
{pkgs, ...}: {
home.packages = with pkgs; [ktimer];
xdg.configFile."ktimerrc".text = ''
[Job0]
Command[$e]=$HOME/bin/timeup
@ -8,7 +8,7 @@
Loop=false
OneInstance=true
State=0
[Job1]
Command[$e]=$HOME/bin/timeup
Consecutive=false
@ -16,7 +16,7 @@
Loop=false
OneInstance=true
State=0
[Job2]
Command[$e]=$HOME/bin/timeup
Consecutive=false
@ -24,7 +24,7 @@
Loop=false
OneInstance=true
State=0
[Jobs]
Number=3
'';

View file

@ -1,36 +1,35 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs = {
mpv = {
enable = true;
# package = pkgs.wrapMpv (pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }) { youtubeSupport = true; };
config = {
cache="yes";
cache-on-disk="no";
cache-pause-initial="yes";
cache-pause-wait="5";
cache-secs="3600";
demuxer-cache-wait="no";
demuxer-donate-buffer="yes";
demuxer-max-back-bytes="244141KiB";
demuxer-max-bytes="732422KiB";
demuxer-readahead-secs="60";
demuxer-seekable-cache="auto";
demuxer-thread="yes";
force-seekable="yes";
hls-bitrate="max";
hr-seek-framedrop="no";
hr-seek="yes";
index="default";
save-position-on-quit="yes";
script-opts="ytdl_hook-ytdl_path=/etc/profiles/per-user/don/bin/yt-dlp";
cache = "yes";
cache-on-disk = "no";
cache-pause-initial = "yes";
cache-pause-wait = "5";
cache-secs = "3600";
demuxer-cache-wait = "no";
demuxer-donate-buffer = "yes";
demuxer-max-back-bytes = "244141KiB";
demuxer-max-bytes = "732422KiB";
demuxer-readahead-secs = "60";
demuxer-seekable-cache = "auto";
demuxer-thread = "yes";
force-seekable = "yes";
hls-bitrate = "max";
hr-seek-framedrop = "no";
hr-seek = "yes";
index = "default";
save-position-on-quit = "yes";
script-opts = "ytdl_hook-ytdl_path=/etc/profiles/per-user/don/bin/yt-dlp";
# scripts=[ pkgs.mpvScripts.autoload ];
slang="en";
user-agent="Mozilla/5.0";
video-reversal-buffer="488281KiB";
ytdl="yes";
ytdl-format="bestvideo+bestaudio";
ytdl-raw-options="no-playlist=";
slang = "en";
user-agent = "Mozilla/5.0";
video-reversal-buffer = "488281KiB";
ytdl = "yes";
ytdl-format = "bestvideo+bestaudio";
ytdl-raw-options = "no-playlist=";
};
profiles = {
"protocol.https" = {
@ -41,8 +40,7 @@
};
yt-dlp = {
enable = true;
extraConfig =
''
extraConfig = ''
--no-mtime
'';
settings = {

View file

@ -1,5 +1,4 @@
{ ... }:
{
{...}: {
programs.qutebrowser = {
enable = true;
loadAutoconfig = true;
@ -175,23 +174,22 @@
wikipedia = "https://www.wikipedia.org/";
zoom = "https://zoom.us/";
};
extraConfig =
''
import dracula.draw
dracula.draw.blood(c, {
'spacing': {
'vertical': 6,
'horizontal': 8
}
})
c.statusbar.padding = { 'top': 6, 'right': 8, 'bottom': 6, '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>']}
'';
settings = {
auto_save = {
session = true;
};
extraConfig = ''
import dracula.draw
dracula.draw.blood(c, {
'spacing': {
'vertical': 6,
'horizontal': 8
}
})
c.statusbar.padding = { 'top': 6, 'right': 8, 'bottom': 6, '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>']}
'';
settings = {
auto_save = {
session = true;
};
#};
colors = {
webpage = {
@ -228,14 +226,14 @@
};
fileselect = {
folder = {
command = ["kitty" "-e" "ranger" "--choosedir={}"];
command = ["kitty" "-e" "ranger" "--choosedir={}"];
};
handler = "external";
multiple_files = {
command = ["kitty" "-e" "ranger" "--choosefile={}"];
command = ["kitty" "-e" "ranger" "--choosefile={}"];
};
single_file = {
command = ["kitty" "-e" "ranger" "--choosefile={}"];
command = ["kitty" "-e" "ranger" "--choosefile={}"];
};
};
qt = {

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
services.redshift = {
enable = true;
latitude = "29.74";
@ -13,8 +16,8 @@
brightness-night = "0.7";
# This *should work*
#temperature = {
#day = 6500;
#night = 3500;
#day = 6500;
#night = 3500;
#};
};
};

View file

@ -1,5 +1,4 @@
{ ... }:
{
{...}: {
services = {
gnome-keyring = {
enable = true;

View file

@ -1,7 +1,13 @@
{ inputs, pkgs, hostname, outputs, osConfig, ... }:
{
inputs,
pkgs,
hostname,
outputs,
osConfig,
...
}: {
xdg.configFile."sway/config".source = ./files/sway/${osConfig.networking.hostName};
programs = {
swaylock = {
enable = true;
@ -130,62 +136,61 @@
};
};
};
style =
''
* {
border: none; border-radius: 0;
font-family: "JetBrains Mono", FontAwesome6Free, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif;
font-size: 10px; min-height: 0;
style = ''
* {
border: none; border-radius: 0;
font-family: "JetBrains Mono", FontAwesome6Free, SymbolsNerdFont, Roboto, Helvetica, Arial, sans-serif;
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 {
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;
}
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
#workspaces button.urgent { background-color: #eb4d4b; }
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
padding: 0 5px;
margin: 0 0px;
}
#clock { background-color: #64727D; color: #f1fa8c; }
#battery { color: #000000; background-color: #50fa7b; }
#battery.warning { color: #000000; background-color: #ff79c6; }
#battery.critical { color: #ffffff; background-color: #ff5555; }
#battery.charging { color: #44475a; background-color: #50fa7b; }
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
#battery.critical:not(.charging) {
background: #f53c3c; color: #ffffff;
animation-name: blink; animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu { background: #2ecc71; color: #000000; }
#memory { background: #9b59b6; }
#backlight { color: #000000; background: #90b1b1; }
#bluetooth { background: #ffb86c; color: #000000; }
#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; }
'';
};
};
#workspaces button.focused { background: #64727D; border-bottom: 3px solid #ffffff; }
#workspaces button.urgent { background-color: #eb4d4b; }
#mode { background: #64727D; border-bottom: 3px solid #ffffff; }
#clock, #battery, #cpu, #memory, #temperature, #backlight, #network, #pulseaudio, #custom-mymusic, #tray, #mode, #idle_inhibitor, #bluetooth {
padding: 0 5px;
margin: 0 0px;
}
#clock { background-color: #64727D; color: #f1fa8c; }
#battery { color: #000000; background-color: #50fa7b; }
#battery.warning { color: #000000; background-color: #ff79c6; }
#battery.critical { color: #ffffff; background-color: #ff5555; }
#battery.charging { color: #44475a; background-color: #50fa7b; }
@keyframes blink { to { background-color: #ffffff; color: #000000; } }
#battery.critical:not(.charging) {
background: #f53c3c; color: #ffffff;
animation-name: blink; animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu { background: #2ecc71; color: #000000; }
#memory { background: #9b59b6; }
#backlight { color: #000000; background: #90b1b1; }
#bluetooth { background: #ffb86c; color: #000000; }
#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; }
'';
};
};
}

View file

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

View file

@ -1,5 +1,9 @@
{ config, pkgs, inputs, ... }:
{
config,
pkgs,
inputs,
...
}: {
home.packages = with pkgs; [
citrix_workspace
];

View file

@ -1,5 +1,8 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
...
}: {
home-manager.users.don = {
imports = [
./citrix.nix

View file

@ -1,19 +1,22 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [ zoom-us ];
config,
pkgs,
...
}: {
home.packages = with pkgs; [zoom-us];
xdg = {
configFile."zoom.conf".source = files/zoom.conf;
configFile."zoomus.conf".source = files/zoomus.conf;
desktopEntries = {
myzoom = {
myzoom = {
name = "My Zoom-Zoom";
exec = "/home/don/bin/myzoom %u";
terminal = false;
type = "Application";
icon = "Zoom";
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" ];
categories = [ "Network" "Application""Application" ];
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"];
};
};
};

View file

@ -1,14 +1,18 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/mmcblk.nix
../workstation
../themes.nix
../wm
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/mmcblk.nix
../workstation
../themes.nix
../wm
];
networking.hostName = "ace";
}

View file

@ -1,27 +1,31 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "uas" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/mmcblk0p1";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/mmcblk0p1";
fsType = "vfat";
};
# swapDevices =
# [ { device = "/dev/disk/by-uuid/8c445831-23e0-4508-85d0-54ea8cd3f80b"; }

View file

@ -30,4 +30,3 @@
};
};
}

View file

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

View file

@ -30,4 +30,3 @@
};
};
}

View file

@ -1,13 +1,17 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
inputs.nixos-hardware.nixosModules.raspberry-pi-4
./hardware-configuration.nix
../themes.nix
../../server
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
inputs.nixos-hardware.nixosModules.raspberry-pi-4
./hardware-configuration.nix
../themes.nix
../../server
];
networking.hostName = "display";
}

View file

@ -1,17 +1,19 @@
{ inputs, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
../workstation
../themes.nix
../wm
];
inputs,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
../workstation
../themes.nix
../wm
];
networking.hostName = "dragon";
}

View file

@ -1,31 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
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.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/8f55014e-8c1b-475d-8fe6-501977358d97";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E6F0-40A0";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/E6F0-40A0";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/843421e5-cb74-4c43-b88d-5053e7f7dec4"; }
];
swapDevices = [
{device = "/dev/disk/by-uuid/843421e5-cb74-4c43-b88d-5053e7f7dec4";}
];
# 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

View file

@ -1,17 +1,21 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.nixos-hardware.nixosModules.google-pixelbook
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/mmcblk.nix
../workstation
../workstation/games
../themes.nix
../wm
../../home/work
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.google-pixelbook
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/mmcblk.nix
../workstation
../workstation/games
../themes.nix
../wm
../../home/work
];
networking.hostName = "eve";
}

View file

@ -1,27 +1,31 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/mmcblk0p1";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/mmcblk0p1";
fsType = "vfat";
};
# swapDevices =
# [ { device = "/dev/disk/by-uuid/a7ae7629-f44f-4298-bf31-59c51cd95658"; }

View file

@ -1,12 +1,16 @@
{ config, pkgs, lib, ... }:
{
boot.kernelPatches = lib.singleton {
name = "eve-config";
patch = null;
extraStructuredConfig = with lib.kernel; {
CROS_EC_I2C = module;
CROS_KBD_LED_BACKLIGHT = module;
I2C_HID_ACPI = yes;
};
};
config,
pkgs,
lib,
...
}: {
boot.kernelPatches = lib.singleton {
name = "eve-config";
patch = null;
extraStructuredConfig = with lib.kernel; {
CROS_EC_I2C = module;
CROS_KBD_LED_BACKLIGHT = module;
I2C_HID_ACPI = yes;
};
};
}

View file

@ -1,13 +1,17 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../server
../themes.nix
./podman.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../server
../themes.nix
./podman.nix
];
networking.hostName = "fred";
}

View file

@ -37,4 +37,3 @@
};
};
}

View file

@ -1,29 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
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.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = ["dm-snapshot"];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FAE7-A0C7";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/FAE7-A0C7";
fsType = "vfat";
};
swapDevices = [ ];
swapDevices = [];
# 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

View file

@ -1,7 +1,9 @@
# Auto-generated using compose2nix v0.1.6.
{ pkgs, lib, ... }:
{
pkgs,
lib,
...
}: {
# Runtime
virtualisation.podman = {
enable = true;
@ -106,7 +108,7 @@
"/dev/net/tun:/dev/net/tun:rw"
"/home/don/docker/tailscale/var_lib:/var/lib:rw"
];
cmd = [ "tailscaled" ];
cmd = ["tailscaled"];
log-driver = "journald";
extraOptions = [
"--cap-add=net_admin"
@ -136,7 +138,7 @@
# Networks
systemd.services."podman-network-tstest-default" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -145,8 +147,8 @@
script = ''
podman network inspect tstest-default || podman network create tstest-default --opt isolate=true
'';
partOf = [ "podman-compose-tstest-root.target" ];
wantedBy = [ "podman-compose-tstest-root.target" ];
partOf = ["podman-compose-tstest-root.target"];
wantedBy = ["podman-compose-tstest-root.target"];
};
# Root service
@ -156,6 +158,6 @@
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
};
}

View file

@ -1,12 +1,16 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
networking.hostName = "harper";
}

View file

@ -1,12 +1,16 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
networking.hostName = "harper2";
}

View file

@ -1,18 +1,22 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/nvme.nix
../workstation
../workstation/kvm.nix
../workstation/games
../wm
../themes.nix
../../home/work
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.dell-xps-13-9310
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/nvme.nix
../workstation
../workstation/kvm.nix
../workstation/games
../wm
../themes.nix
../../home/work
];
networking.hostName = "loki";
}

View file

@ -1,31 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
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.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/nvme0n1p2";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/nvme0n1p2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/nvme0n1p1";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/nvme0n1p1";
fsType = "vfat";
};
# swapDevices =
# [ { device = "/dev/disk/by-uuid/cc3e6f81-e0c6-41f7-a02e-49dcaf8b795a"; }
# ];
# swapDevices =
# [ { device = "/dev/disk/by-uuid/cc3e6f81-e0c6-41f7-a02e-49dcaf8b795a"; }
# ];
# 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

View file

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

View file

@ -1,12 +1,16 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
networking.hostName = "nuwww";
}

View file

@ -1,12 +1,16 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
networking.hostName = "pihole";
}

View file

@ -1,17 +1,19 @@
{ inputs, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
../workstation
../themes.nix
../wm
];
inputs,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-gpu-intel
inputs.nixos-hardware.nixosModules.common-pc-laptop
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
../workstation
../themes.nix
../wm
];
networking.hostName = "pocket2";
}

View file

@ -1,27 +1,31 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/90189466-8309-4b46-befe-cf476b8a7dd7";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A327-E803";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/A327-E803";
fsType = "vfat";
};
# 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

View file

@ -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 = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
experimental-features = ["nix-command" "flakes"];
warn-dirty = false;
auto-optimise-store = true;
trusted-users = [ "root" "don" ];
trusted-users = ["root" "don"];
};
gc = {
automatic = true;
@ -24,13 +29,12 @@ in
options = "--delete-older-than 7d";
};
};
imports =
[
../../home
./systemd.nix
./tailscale.nix
./upgrade-diff.nix
];
imports = [
../../home
./systemd.nix
./tailscale.nix
./upgrade-diff.nix
];
# Enable networking
networking.networkmanager.enable = true;
@ -43,7 +47,6 @@ in
hardwareClockInLocalTime = false;
};
# Select internationalisation properties.
i18n.defaultLocale = "en_US.utf8";
i18n.inputMethod = {
@ -57,7 +60,7 @@ in
# Bootloader.
boot = {
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ "consoleblank=60" ];
kernelParams = ["consoleblank=60"];
loader = {
systemd-boot = {
enable = true;
@ -71,7 +74,7 @@ in
enable = true;
};
kernel = {
sysctl = { "vm.swappiness" = 10;};
sysctl = {"vm.swappiness" = 10;};
};
};
@ -82,11 +85,13 @@ in
sudo.enable = false;
doas = {
enable = true;
extraRules = [{
users = [ "don" ];
keepEnv = true;
noPass = true;
}];
extraRules = [
{
users = ["don"];
keepEnv = true;
noPass = true;
}
];
};
};
@ -132,7 +137,7 @@ in
isNormalUser = true;
initialPassword = "changeme";
description = "Don Harper";
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk" ];
extraGroups = ["networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk"];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
];
@ -185,35 +190,53 @@ in
};
};
nixpkgs.overlays = [
(final: super:{ khal = super.khal.overridePythonAttrs (_: { doCheck = false; }); })
(final: super: {khal = super.khal.overridePythonAttrs (_: {doCheck = false;});})
];
# Open ports in the firewall.
networking.firewall = {
enable = true;
# always allow traffic from your Tailscale network
trustedInterfaces = [ "tailscale0" ];
trustedInterfaces = ["tailscale0"];
checkReversePath = "loose";
# allow the Tailscale UDP port through the firewall
allowedUDPPorts = [ config.services.tailscale.port ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPorts = [config.services.tailscale.port];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
# allow you to SSH in over the public internet
allowedTCPPorts = [ 22 ];
allowedTCPPorts = [22];
interfaces = {
"tailscale0" = {
allowedTCPPorts = [ 22 8080 8443 ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedTCPPorts = [22 8080 8443];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
};
};
};
# This value determines the NixOS release from which the default
# 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)

View file

@ -1,6 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
readlink = "${pkgs.coreutils}/bin/readlink";
notify-send = "${pkgs.libnotify}/bin/notify-send";
in {
@ -8,7 +6,7 @@ in {
services = {
clean-keychain = {
description = "Clean up .keychain on boot";
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
@ -35,8 +33,8 @@ in {
};
timers = {
detect-reboot-for-upgrade = {
wantedBy = [ "timers.target" ];
partOf = [ "detect-reboot-for-upgrade.service" ];
wantedBy = ["timers.target"];
partOf = ["detect-reboot-for-upgrade.service"];
timerConfig = {
OnCalendar = "hourly";
Unit = "detect-reboot-for-upgrade.service";

Binary file not shown.

View file

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

View file

@ -1,16 +1,20 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/sda.nix
../workstation
../wm
../themes.nix
../../home/work
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
# ../disko/sda.nix
../workstation
../wm
../themes.nix
../../home/work
];
networking.hostName = "smaug";
}

View file

@ -1,28 +1,31 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "uas" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/sda2";
fsType = "ext4";
};
fileSystems."/" =
{ device = "/dev/sda2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/sda1";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/sda1";
fsType = "vfat";
};
# swapDevices =
# [ { device = "/dev/sda3"; }

View file

@ -1,7 +1,9 @@
# Auto-generated using compose2nix v0.1.6.
{ pkgs, lib, ... }:
{
pkgs,
lib,
...
}: {
# Runtime
virtualisation.podman = {
enable = true;
@ -100,7 +102,7 @@
# Networks
systemd.services."podman-network-speedtest-default" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -109,8 +111,8 @@
script = ''
podman network inspect speedtest-default || podman network create speedtest-default --opt isolate=true
'';
partOf = [ "podman-compose-speedtest-root.target" ];
wantedBy = [ "podman-compose-speedtest-root.target" ];
partOf = ["podman-compose-speedtest-root.target"];
wantedBy = ["podman-compose-speedtest-root.target"];
};
# Root service
@ -120,6 +122,6 @@
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
};
}

View file

@ -1,13 +1,17 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../workstation
../themes.nix
../wm
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../workstation
../themes.nix
../wm
];
networking.hostName = "t2";
}

View file

@ -1,24 +1,28 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = [];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/mmcblk0p2";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "ext4";
};
swapDevices = [ ];
swapDevices = [];
# 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

View file

@ -1,6 +1,11 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
stylix = {
base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
image = ./feed-me.png;

View file

@ -1,11 +1,15 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
../server
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../server
../themes.nix
];
networking.hostName = "vm";
}

View file

@ -1,31 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/vda3";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/vda3";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/vda1";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/vda1";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/vda2"; }
];
swapDevices = [
{device = "/dev/vda2";}
];
# 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

View file

@ -1,10 +1,14 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
../themes.nix
];
networking.hostName = "vm1";
}

View file

@ -1,31 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/vda3";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/vda3";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/vda1";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/vda1";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/vda2"; }
];
swapDevices = [
{device = "/dev/vda2";}
];
# 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

View file

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

View file

@ -1,6 +1,9 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}: {
environment.systemPackages = with pkgs; [
alacritty
bemenu
@ -22,7 +25,6 @@
wl-clipboard
];
services.pipewire = {
enable = true;
alsa.enable = true;
@ -32,5 +34,4 @@
services.enable = true;
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
}

View file

@ -1,9 +1,8 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ sddm-chili-theme ];
{pkgs, ...}: {
environment.systemPackages = with pkgs; [sddm-chili-theme];
services.displayManager = {
sddm = {
services.displayManager = {
sddm = {
enable = true;
theme = "chili";
wayland = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
dbus-sway-environment = pkgs.writeTextFile {
name = "dbus-sway-environment";
destination = "/bin/dbus-sway-environment";
@ -18,39 +17,38 @@ let
schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
in ''
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
gnome_schema=org.gnome.desktop.interface
gsettings set $gnome_schema gtk-theme 'Dracula'
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
gnome_schema=org.gnome.desktop.interface
gsettings set $gnome_schema gtk-theme 'Dracula'
'';
};
in
{
environment.systemPackages = with pkgs; [
alacritty
bemenu
configure-gtk
dbus-sway-environment
dracula-theme # gtk theme
glib
gnome.adwaita-icon-theme
grim
mako
slurp
sway
swayidle
swayimg
swaylock-effects
swaynotificationcenter
waybar
wayland
wl-clipboard
];
services.dbus.enable = true;
programs = {
sway = {
enable = true;
wrapperFeatures.gtk = true;
};
in {
environment.systemPackages = with pkgs; [
alacritty
bemenu
configure-gtk
dbus-sway-environment
dracula-theme # gtk theme
glib
gnome.adwaita-icon-theme
grim
mako
slurp
sway
swayidle
swayimg
swaylock-effects
swaynotificationcenter
waybar
wayland
wl-clipboard
];
services.dbus.enable = true;
programs = {
sway = {
enable = true;
wrapperFeatures.gtk = true;
};
services.greetd.package = "greetd.wlgreet";
}
};
services.greetd.package = "greetd.wlgreet";
}

View file

@ -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 = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
experimental-features = ["nix-command" "flakes"];
warn-dirty = false;
auto-optimise-store = true;
trusted-users = [ "root" "don" ];
trusted-users = ["root" "don"];
};
gc = {
automatic = true;
@ -24,15 +29,14 @@ in
options = "--delete-older-than 7d";
};
};
imports =
[
../../home
../../home/gui
./detect-reboot-needed.nix
./systemd.nix
./tailscale.nix
./upgrade-diff.nix
];
imports = [
../../home
../../home/gui
./detect-reboot-needed.nix
./systemd.nix
./tailscale.nix
./upgrade-diff.nix
];
# Enable networking
networking.networkmanager.enable = true;
@ -46,7 +50,6 @@ in
hardwareClockInLocalTime = false;
};
# Select internationalisation properties.
i18n.defaultLocale = "en_US.utf8";
i18n.inputMethod = {
@ -60,27 +63,27 @@ in
# Bootloader.
boot = {
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ "consoleblank=60" ];
loader = if (pkgs.hostPlatform != lib.mkDefault "aarch64-linux") then
{
systemd-boot = {
enable = true;
kernelParams = ["consoleblank=60"];
loader =
if (pkgs.hostPlatform != lib.mkDefault "aarch64-linux")
then {
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 = {
enable = true;
};
kernel = {
sysctl = { "vm.swappiness" = 10;};
sysctl = {"vm.swappiness" = 10;};
};
};
@ -91,11 +94,13 @@ in
sudo.enable = false;
doas = {
enable = true;
extraRules = [{
users = [ "don" ];
keepEnv = true;
noPass = true;
}];
extraRules = [
{
users = ["don"];
keepEnv = true;
noPass = true;
}
];
};
};
@ -173,7 +178,7 @@ in
};
sane = {
enable = true;
extraBackends = [ pkgs.sane-airscan ];
extraBackends = [pkgs.sane-airscan];
};
};
security.rtkit.enable = true;
@ -191,7 +196,7 @@ in
isNormalUser = true;
initialPassword = "changeme";
description = "Don Harper";
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk" ];
extraGroups = ["networkmanager" "wheel" "scanner" "lp" "video" "mlocate" "disk"];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINd8AdVbQQ/Fmw+b9mI8EMYqIoRkwmSwAOtmlte3incL don@loki"
];
@ -205,7 +210,7 @@ in
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ];
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"];
environment.systemPackages = with pkgs; [
#(callPackage ../mypackages/kanshi-fix/default.nix {})
@ -267,36 +272,54 @@ in
};
};
nixpkgs.overlays = [
(final: prev: { qutebrowser = prev.qutebrowser.override { enableWideVine = true; }; })
(final: super:{ khal = super.khal.overridePythonAttrs (_: { doCheck = false; }); })
(final: prev: {qutebrowser = prev.qutebrowser.override {enableWideVine = true;};})
(final: super: {khal = super.khal.overridePythonAttrs (_: {doCheck = false;});})
];
# Open ports in the firewall.
networking.firewall = {
enable = true;
# always allow traffic from your Tailscale network
trustedInterfaces = [ "tailscale0" ];
trustedInterfaces = ["tailscale0"];
checkReversePath = "loose";
# allow the Tailscale UDP port through the firewall
allowedUDPPorts = [ config.services.tailscale.port ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPorts = [config.services.tailscale.port];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
# allow you to SSH in over the public internet
allowedTCPPorts = [ 22 ];
allowedTCPPorts = [22];
interfaces = {
"tailscale0" = {
allowedTCPPorts = [ 22 8080 8443 ];
allowedTCPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedUDPPortRanges = [ { from = 1714 ; to = 1764; } ];
allowedTCPPorts = [22 8080 8443];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
};
};
};
# This value determines the NixOS release from which the default
# 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)

View file

@ -1,6 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
readlink = "${pkgs.coreutils}/bin/readlink";
notify-send = "${pkgs.libnotify}/bin/notify-send";
in {
@ -20,8 +18,8 @@ in {
};
};
systemd.user.timers.detect-reboot-for-upgrade = {
wantedBy = [ "timers.target" ];
partOf = [ "detect-reboot-for-upgrade.service" ];
wantedBy = ["timers.target"];
partOf = ["detect-reboot-for-upgrade.service"];
timerConfig = {
OnCalendar = "hourly";
Unit = "detect-reboot-for-upgrade.service";

View file

@ -1,6 +1,11 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
programs = {
# GAMES!
steam = {

View file

@ -1,5 +1,8 @@
{ pkgs, inputs, ... }:
{
pkgs,
inputs,
...
}: {
virtualisation.libvirtd.enable = true;
environment.systemPackages = with pkgs; [ gnome.gnome-boxes ];
environment.systemPackages = with pkgs; [gnome.gnome-boxes];
}

View file

@ -1,6 +1,8 @@
{ pkgs, lib, ... }:
let
{
pkgs,
lib,
...
}: let
readlink = "${pkgs.coreutils}/bin/readlink";
notify-send = "${pkgs.libnotify}/bin/notify-send";
in {
@ -10,7 +12,7 @@ in {
systemd-networkd-wait-online.enable = lib.mkForce false;
clean-keychain = {
description = "Clean up .keychain on boot";
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
@ -37,8 +39,8 @@ in {
};
timers = {
detect-reboot-for-upgrade = {
wantedBy = [ "timers.target" ];
partOf = [ "detect-reboot-for-upgrade.service" ];
wantedBy = ["timers.target"];
partOf = ["detect-reboot-for-upgrade.service"];
timerConfig = {
OnCalendar = "hourly";
Unit = "detect-reboot-for-upgrade.service";

Binary file not shown.

View file

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

View file

@ -1,12 +1,16 @@
{ inputs, outputs, lib, config, pkgs, ... }:
{
imports =
[
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix
./hardware-configuration.nix
../../server
../themes.nix
];
networking.hostName = "www2";
}

View file

@ -1,29 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
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.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "ums_realtek" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = ["dm-snapshot"];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/4a1d2915-6964-4479-98c6-d17e333e83e9";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/FAE7-A0C7";
fsType = "vfat";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/FAE7-A0C7";
fsType = "vfat";
};
swapDevices = [ ];
swapDevices = [];
# 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

View file

@ -1,7 +1,10 @@
# This module defines a small NixOS installation CD. It does not
# contain any graphical stuff.
{ config, pkgs, ... }:
{
config,
pkgs,
...
}: {
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>

View file

@ -1,2 +1,2 @@
{ pkgs ? import <nixpkgs> {} }:
{pkgs ? import <nixpkgs> {}}:
pkgs.callPackage ./derivation.nix {}

View file

@ -1,12 +1,12 @@
{ stdenv }:
{stdenv}:
stdenv.mkDerivation rec {
name = "kanshi-fix-${version}";
version = "1.4";
src = ./.;
nativeBuildInputs = [ ];
buildInputs = [ ];
nativeBuildInputs = [];
buildInputs = [];
dontConfigure = true;
buildPhase = ''