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;
|
||||||
|
|
|
||||||
|
|
@ -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; [
|
||||||
{
|
{
|
||||||
|
|
@ -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";
|
||||||
|
|
@ -45,10 +46,8 @@
|
||||||
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
|
||||||
|
|
@ -65,8 +64,7 @@
|
||||||
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 = {
|
||||||
|
|
@ -34,8 +37,8 @@
|
||||||
Don Harper
|
Don Harper
|
||||||
'';
|
'';
|
||||||
|
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
timers.mbsync = {
|
timers.mbsync = {
|
||||||
Timer = {
|
Timer = {
|
||||||
OnUnitActiveSec = "5m";
|
OnUnitActiveSec = "5m";
|
||||||
AccuracySec = "1m";
|
AccuracySec = "1m";
|
||||||
|
|
@ -46,22 +49,22 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
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"];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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,13 +1,15 @@
|
||||||
{ 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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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,5 +1,11 @@
|
||||||
{ 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 = {
|
||||||
|
|
@ -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,6 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
environment.systemPackages = with pkgs; [sddm-chili-theme];
|
||||||
environment.systemPackages = with pkgs; [ sddm-chili-theme ];
|
|
||||||
|
|
||||||
services.displayManager = {
|
services.displayManager = {
|
||||||
sddm = {
|
sddm = {
|
||||||
|
|
|
||||||
|
|
@ -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