This commit is contained in:
Gregory Burd 2024-08-15 01:29:41 -04:00
parent c7a3d1d0b1
commit 94d6e77e51
18 changed files with 299 additions and 20 deletions

14
TODO Normal file
View file

@ -0,0 +1,14 @@
* new user "greg"
* switch to bash
* switch to gnome/wayland
* remove or integrate _/*
* fix macOS portion
* rpi
* nixops? or ...?
* k8s/k3c cluster
* use s3 from freenas + k8s to deploy video site
https://askubuntu.com/questions/1396132/when-i-paste-in-the-terminal-sometimes-the-contents-are-prefixed-with-the-charac
https://stackoverflow.com/questions/60736446/strange-characters-when-pasting-into-terminal-fish-shell-200-and-201?rq=3
https://kagi.com/search?q=__fish_disable_bracketed_paste
https://nixos.wiki/wiki/Cheatsheet

View file

@ -1081,11 +1081,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1719145550, "lastModified": 1723556749,
"narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=", "narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8", "rev": "4a92571f9207810b559c9eac203d1f4d79830073",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -38,5 +38,13 @@
ltex-ls # Spell checking LSP ltex-ls # Spell checking LSP
tly # Tally counter tly # Tally counter
kubectl
k9s
kubernetes-helm
kind
terraform
terraform-ls
nerdctl
]; ];
} }

View file

@ -1,5 +1,6 @@
{ desktop, ... }: { { desktop, ... }: {
imports = [ imports = [
./alacritty.nix
./neovide.nix ./neovide.nix
./emote.nix ./emote.nix
./tilix.nix ./tilix.nix

View file

@ -0,0 +1,4 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.protonmail-desktop ];
}

View file

@ -8,8 +8,10 @@ with lib.hm.gvariant;
../../desktop/jetbrains-toolbox.nix ../../desktop/jetbrains-toolbox.nix
../../desktop/meld.nix ../../desktop/meld.nix
../../desktop/protonmail-bridge.nix ../../desktop/protonmail-bridge.nix
../../desktop/protonmail-desktop.nix
../../desktop/sublime-merge.nix ../../desktop/sublime-merge.nix
../../desktop/sublime.nix ../../desktop/sublime.nix
../../desktop/zed-editor.nix
../../services/keybase.nix ../../services/keybase.nix
]; ];

View file

@ -0,0 +1,209 @@
file.".ssh/config".text = ''
Host burd.me *.burd.me *.ts.burd.me
ForwardAgent yes
Host floki
ForwardAgent yes
RemoteForward /%d/.gnupg-sockets/S.gpg-agent /%d/.gnupg-sockets/S.gpg-agent.extra
Host *
ForwardAgent no
Compression no
ServerAliveInterval 0
ServerAliveCountMax 3
HashKnownHosts no
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster no
ControlPath ~/.ssh/master-%r@%n:%p
ControlPersist no
Host github.com
HostName github.com
User git
'';
file.".gitconfig".text = ''
[user]
name = Greg Burd
email = greg@burd.me
[color]
ui = auto
diff = auto
status = auto
branch = auto
[format]
pretty=format:%C(yellow)%h%Creset | %C(green)%ad (%ar)%Creset | %C(blue)%an%Creset | %s
[push]
default = simple
autoSetupRemote = true
[branch]
autosetuprebase = always
[receive]
denyCurrentBranch = warn
[filter "media"]
clean = git media clean %f
smudge = git media smudge %f
required = true
# http://nicercode.github.io/blog/2013-04-30-excel-and-line-endings/
[filter "cr"]
clean = LC_CTYPE=C awk '{printf(\"%s\\n\", $0)}' | LC_CTYPE=C tr '\\r' '\\n'
smudge = tr '\\n' '\\r'
[diff]
tool = meld
[difftool]
prompt = false
[difftool "meld"]
cmd = meld "$LOCAL" "$REMOTE"
[merge]
tool = meld
[mergetool "meld"]
# Choose one of these 2 lines (not both!) explained below.
cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
[core]
editor = nvim
# editor = emacs -nw -q
excludesfile = ~/.gitignore_global
pager = less -FMRiX
quotepath = false
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[init]
templateDir = /home/gregburd/.git-template
defaultBranch = main
[commit]
# gpgsign = true
'';
file.".config/Code/User/keybindings.json".text = ''
// Place your key bindings in this file to override the defaults
[
// allow arrow keys to work in the find widget
{
"key": "right",
"command": "-emacs-mcx.isearchExit"
},
{
"key": "left",
"command": "-emacs-mcx.isearchExit"
},
{
"key": "up",
"command": "-emacs-mcx.isearchExit"
},
{
"key": "down",
"command": "-emacs-mcx.isearchExit"
},
// allow ctrl+f to find next in the find widget
{
"key": "ctrl+f",
"command": "-emacs-mcx.isearchExit",
"when": "editorFocus && findWidgetVisible"
},
// allow other stuff to functional normally in the find widget
{
"key": "ctrl+b",
"command": "-emacs-mcx.isearchExit",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "ctrl+p",
"command": "-emacs-mcx.isearchExit",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "ctrl+n",
"command": "-emacs-mcx.isearchExit",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "ctrl+a",
"command": "-emacs-mcx.isearchExit",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "ctrl+e",
"command": "-emacs-mcx.isearchExit",
"when": "editorFocus && findWidgetVisible"
},
{
"key": "enter",
"command": "-emacs-mcx.isearchExit"
},
// allow curly quotes and ellipses characters on mac
{
"key": "alt+shift+[",
"command": "-emacs-mcx.backwardParagraph"
},
{
"key": "alt+shift+]",
"command": "-emacs-mcx.forwardParagraph"
},
{
"key": "alt+;",
"command": "-editor.action.blockComment",
"when": "editorTextFocus && !config.emacs-mcx.useMetaPrefixMacCmd && !editorReadonly"
},
{
"key": "alt+;",
"command": "-emacs-mcx.executeCommands",
"when": "editorFocus && findWidgetVisible && !config.emacs-mcx.useMetaPrefixMacCmd"
},
// stop backward kill word from adding to clipboard
{
"key": "alt+backspace",
"command": "-emacs-mcx.backwardKillWord",
"when": "editorTextFocus && !config.emacs-mcx.useMetaPrefixMacCmd && !editorReadonly"
}
]
'';
bash = {
shellAliases = {
pubip = "curl -s ifconfig.me/ip"; # "curl -s https://api.ipify.org";
speedtest = "speedtest-go";
vi = "nvim";
vim = "nvim";
};
};
fish = {
shellAliases = {
#diff = "diffr";
#fast = "fast -u";
#glow = "glow --pager";
pubip = "curl -s ifconfig.me/ip"; # "curl -s https://api.ipify.org";
speedtest = "speedtest-go";
vi = "nvim";
vim = "nvim";
};
};
systemd.user.tmpfiles.rules = [
"d ${config.home.homeDirectory}/ws 0755 ${username} users - -"
"d ${config.home.homeDirectory}/Dropbox 0755 ${username} users - -"
# "d ${config.home.homeDirectory}/Quickemu/nixos-console 0755 ${username} users - -"
# "d ${config.home.homeDirectory}/Quickemu/nixos-desktop 0755 ${username} users - -"
"d ${config.home.homeDirectory}/bin 0755 ${username} users - -"
"d ${config.home.homeDirectory}/Studio/OBS/config/obs-studio/ 0755 ${username} users - -"
# "d ${config.home.homeDirectory}/Syncthing 0755 ${username} users - -"
"d ${config.home.homeDirectory}/Websites 0755 ${username} users - -"
"L+ ${config.home.homeDirectory}/.config/obs-studio/ - - - - ${config.home.homeDirectory}/Studio/OBS/config/obs-studio/"
];

View file

@ -1,4 +1,4 @@
{ lib, hostname, inputs, platform, pkgs, ... }: { lib, hostname, inputs, platform, config, pkgs, ... }:
let let
systemInfo = lib.splitString "-" platform; systemInfo = lib.splitString "-" platform;
systemType = builtins.elemAt systemInfo 1; systemType = builtins.elemAt systemInfo 1;
@ -13,28 +13,50 @@ in
++ lib.optional (builtins.pathExists (./. + "/hosts/${hostname}/default.nix")) ./hosts/${hostname}/default.nix ++ lib.optional (builtins.pathExists (./. + "/hosts/${hostname}/default.nix")) ./hosts/${hostname}/default.nix
++ lib.optional (builtins.pathExists (./. + "/systems/${systemType}.nix")) ./systems/${systemType}.nix; ++ lib.optional (builtins.pathExists (./. + "/systems/${systemType}.nix")) ./systems/${systemType}.nix;
home = { home.file = {
file.".config/alacritty/alacritty.yml".source = ./alacritty.yml; "ws/devshells".source = inputs.devshells;
file."ws/devshells".source = inputs.devshells; "${config.xdg.configHome}/alacritty/alacritty.yml".source = ./alacritty.yml;
".ssh/config".text = "
Host *
IdentityAgent ~/.1password/agent.sock
Compression yes
ConnectTimeout 5
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 10m
ControlPersist yes
ForwardAgent yes
ForwardX11 yes
GSSAPIAuthentication no
LogLevel QUIET
ServerAliveInterval 60
ServerAliveCountMax 2
StrictHostKeyChecking no
TCPKeepAlive yes
UserKnownHostsFile /dev/null
file.".ssh/config".text = "
Host github.com Host github.com
HostName github.com HostName github.com
User git User git
"; ";
sessionVariables = { "${config.xdg.configHome}/nixpkgs/config.nix".text = ''
# ...
};
file.".config/nixpkgs/config.nix".text = ''
{ {
allowUnfree = true; allowUnfree = true;
} }
''; '';
};
home = {
sessionVariables = {
# ...
};
packages = with pkgs; [ ]; packages = with pkgs; [ ];
}; };

View file

@ -2,22 +2,21 @@
with lib.hm.gvariant; with lib.hm.gvariant;
{ {
imports = [ imports = [
../../desktop
../../cli/signal.nix ../../cli/signal.nix
../../desktop/alacritty.nix
../../desktop/audio-recorder.nix ../../desktop/audio-recorder.nix
../../desktop/celluloid.nix ../../desktop/celluloid.nix
../../desktop/dconf-editor.nix ../../desktop/dconf-editor.nix
../../desktop/gitkraken.nix ../../desktop/gitkraken.nix
../../desktop/gnome-shell.nix ../../desktop/gnome-shell.nix
../../desktop/gnome-sound-recorder.nix ../../desktop/gnome-sound-recorder.nix
../../desktop/jetbrains-clion.nix
../../desktop/jetbrains-idea-ultimate.nix
../../desktop/jetbrains-toolbox.nix ../../desktop/jetbrains-toolbox.nix
../../desktop/meld.nix ../../desktop/meld.nix
../../desktop/protonmail-bridge.nix ../../desktop/protonmail-bridge.nix
../../desktop/rhythmbox.nix ../../desktop/rhythmbox.nix
../../desktop/sublime-merge.nix ../../desktop/sublime-merge.nix
../../desktop/sublime.nix ../../desktop/sublime.nix
../../desktop/zed-editor.nix
../../services/keybase.nix ../../services/keybase.nix
]; ];

View file

@ -33,6 +33,10 @@ with lib.hm.gvariant;
load_dotenv = true load_dotenv = true
''; '';
file.".envrc".text = ''
ENVFS_RESOLVE_ALWAYS=1
'';
file.".config/Code/User/settings.json".text = '' file.".config/Code/User/settings.json".text = ''
{ {
"editor.inlineSuggest.enabled": true, "editor.inlineSuggest.enabled": true,
@ -72,6 +76,7 @@ with lib.hm.gvariant;
_1password _1password
_1password-gui _1password-gui
autoconf autoconf
bash
cfssl cfssl
cmake cmake
dig dig

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
discord-krisp discord
]; ];
} }

View file

@ -0,0 +1,5 @@
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
zed-editor
];
}

View file

@ -45,5 +45,5 @@ in
pulseaudio.support32Bit = true; pulseaudio.support32Bit = true;
}; };
virtualisation.docker.enableNvidia = true; hardware.nvidia-container-toolkit.enable = true;
} }

View file

@ -45,5 +45,5 @@ in
pulseaudio.support32Bit = true; pulseaudio.support32Bit = true;
}; };
virtualisation.docker.enableNvidia = true; hardware.nvidia-container-toolkit.enable = true;
} }

View file

@ -24,6 +24,7 @@ in
++ ifExists [ ++ ifExists [
"docker" "docker"
"podman" "podman"
config.services.kubo.group
]; ];
# mkpasswd -m sha-512 # mkpasswd -m sha-512
@ -41,5 +42,10 @@ in
neededForUsers = true; neededForUsers = true;
}; };
# https://github.com/Mic92/envfs
services.envfs.enable = true;
# https://wiki.nixos.org/wiki/IPFS
#kubo.enable = true;
# a location service `where-am-i`
services.geoclue2.enable = true; services.geoclue2.enable = true;
} }

View file

@ -6,9 +6,11 @@
../../desktop/google-chrome.nix ../../desktop/google-chrome.nix
../../desktop/jetbrains-toolbox.nix ../../desktop/jetbrains-toolbox.nix
../../desktop/lutris.nix ../../desktop/lutris.nix
../../desktop/discord.nix
../../desktop/spotify.nix ../../desktop/spotify.nix
../../desktop/tilix.nix ../../desktop/tilix.nix
../../desktop/vscode.nix ../../desktop/vscode.nix
../../desktop/zed-editor.nix
] ]
++ lib.optional (builtins.pathExists (../.. + "/desktop/${desktop}.nix")) ../../desktop/${desktop}.nix ++ lib.optional (builtins.pathExists (../.. + "/desktop/${desktop}.nix")) ../../desktop/${desktop}.nix
++ lib.optional (builtins.pathExists (../.. + "/desktop/${desktop}-apps.nix")) ../../desktop/${desktop}-apps.nix; ++ lib.optional (builtins.pathExists (../.. + "/desktop/${desktop}-apps.nix")) ../../desktop/${desktop}-apps.nix;

View file

@ -5,6 +5,7 @@
#https://nixos.wiki/wiki/Docker #https://nixos.wiki/wiki/Docker
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
docker-compose docker-compose
docker-buildx
]; ];
virtualisation = { virtualisation = {

View file

@ -43,7 +43,8 @@
}; };
kernelModules = [ "kvm-intel" "nvidia" ]; kernelModules = [ "kvm-intel" "nvidia" ];
kernelPackages = pkgs.linuxPackages_latest; #kernelPackages = pkgs.linuxPackages_latest;
kernelPackages = pkgs.linuxPackages;
}; };
# https://nixos.wiki/wiki/Nvidia # https://nixos.wiki/wiki/Nvidia