Compare commits
3 commits
d14d7ae72f
...
a5f680bc17
| Author | SHA1 | Date | |
|---|---|---|---|
| a5f680bc17 | |||
| 2b979db6e3 | |||
| 35631c0e60 |
15 changed files with 579 additions and 558 deletions
139
homes/common.nix
139
homes/common.nix
|
|
@ -1,17 +1,12 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
{ config, lib, pkgs, pkgs-unstable, ... }: {
|
||||||
let
|
imports = [
|
||||||
conda_init = shell: ''
|
./../programs/shells.nix
|
||||||
eval "$(${pkgs.micromamba}/bin/micromamba shell hook --shell ${shell})"
|
./../programs/bat.nix
|
||||||
|
./../programs/direnv.nix
|
||||||
'';
|
./../programs/git.nix
|
||||||
nd_bash_function = ''
|
./../programs/lsd.nix
|
||||||
function nd() {
|
./../programs/starship.nix
|
||||||
mkdir -p "$1" && cd "$1"
|
];
|
||||||
}
|
|
||||||
|
|
||||||
'';
|
|
||||||
starship-config = import ./../programs/starship.nix;
|
|
||||||
in {
|
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
file = { };
|
file = { };
|
||||||
|
|
@ -80,116 +75,12 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
home-manager = { enable = true; };
|
home-manager.enable = true;
|
||||||
bash = {
|
|
||||||
enable = true;
|
gh.enable = true;
|
||||||
initExtra = conda_init "bash" + nd_bash_function + ''
|
gpg.enable = true;
|
||||||
export PS1="[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\] \[\e[34m\]\W\[\e[m\]] \\$ "
|
pandoc.enable = true;
|
||||||
'';
|
yt-dlp.enable = true;
|
||||||
};
|
|
||||||
bat = {
|
|
||||||
enable = true;
|
|
||||||
config = { pager = "less -SRF"; };
|
|
||||||
};
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
gh = { enable = true; };
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Thomas A. Christensen II";
|
|
||||||
userEmail = "25492070+MillironX@users.noreply.github.com";
|
|
||||||
extraConfig = {
|
|
||||||
core = { editor = "nvim"; };
|
|
||||||
credential = { helper = "store"; };
|
|
||||||
color = { ui = "auto"; };
|
|
||||||
init = { defaultBranch = "master"; };
|
|
||||||
column = { ui = "auto"; };
|
|
||||||
branch = { sort = "-committerdate"; };
|
|
||||||
tag = { sort = "version:refname"; };
|
|
||||||
diff = {
|
|
||||||
algorithm = "histogram";
|
|
||||||
colorMoved = "plain";
|
|
||||||
mnemonicPrefix = true;
|
|
||||||
renames = true;
|
|
||||||
};
|
|
||||||
push = {
|
|
||||||
default = "simple";
|
|
||||||
autoSetupRemote = true;
|
|
||||||
followTages = true;
|
|
||||||
};
|
|
||||||
fetch = {
|
|
||||||
prune = true;
|
|
||||||
pruneTags = true;
|
|
||||||
all = true;
|
|
||||||
};
|
|
||||||
help = { autocorrect = "prompt"; };
|
|
||||||
commit = { verbose = true; };
|
|
||||||
rerere = {
|
|
||||||
enabled = true;
|
|
||||||
autoupdate = true;
|
|
||||||
};
|
|
||||||
rebase = {
|
|
||||||
autoSquash = true;
|
|
||||||
autoStash = true;
|
|
||||||
updateRefs = true;
|
|
||||||
};
|
|
||||||
merge = { conflictstyle = "zdiff3"; };
|
|
||||||
pull = { rebase = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gpg = { enable = true; };
|
|
||||||
lsd = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.neovim-unwrapped;
|
|
||||||
defaultEditor = true;
|
|
||||||
coc.enable = true;
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
mason-nvim
|
|
||||||
mason-lspconfig-nvim
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-dap
|
|
||||||
nvim-dap-ui
|
|
||||||
null-ls-nvim
|
|
||||||
nvim-lint
|
|
||||||
formatter-nvim
|
|
||||||
lspsaga-nvim
|
|
||||||
vim-slime
|
|
||||||
];
|
|
||||||
extraLuaConfig = ''
|
|
||||||
require("mason").setup()
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
pandoc = { enable = true; };
|
|
||||||
starship = starship-config { inherit lib; };
|
|
||||||
yt-dlp = { enable = true; };
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
completionInit =
|
|
||||||
"autoload -U compinit && compinit; autoload -U bashcompinit && bashcompinit";
|
|
||||||
antidote = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
"getantidote/use-omz"
|
|
||||||
"ohmyzsh/ohmyzsh path:lib"
|
|
||||||
"ohmyzsh/ohmyzsh path:plugins/git"
|
|
||||||
"ohmyzsh/ohmyzsh path:plugins/extract"
|
|
||||||
"zsh-users/zsh-syntax-highlighting"
|
|
||||||
"zsh-users/zsh-autosuggestions"
|
|
||||||
"zsh-users/zsh-completions"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
initContent = conda_init "zsh" + nd_bash_function;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
xdg = {
|
xdg = {
|
||||||
dataFile = { "julia/config/startup.jl".source = ./../dotfiles/startup.jl; };
|
dataFile = { "julia/config/startup.jl".source = ./../dotfiles/startup.jl; };
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, firefox-addons, buildFirefoxXpiAddon, ... }:
|
{ pkgs, ... }: {
|
||||||
let
|
|
||||||
firefox-config = import ./../programs/firefox.nix;
|
imports = [
|
||||||
zed-config = import ./../programs/zed.nix;
|
./../programs/firefox.nix
|
||||||
in {
|
./../programs/zed.nix
|
||||||
|
./../services/gpg-agent.nix
|
||||||
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
act
|
act
|
||||||
|
|
@ -29,25 +32,5 @@ in {
|
||||||
];
|
];
|
||||||
shellAliases = { code = "codium"; };
|
shellAliases = { code = "codium"; };
|
||||||
};
|
};
|
||||||
programs = {
|
services = { syncthing.enable = true; };
|
||||||
firefox = firefox-config {
|
|
||||||
inherit firefox-addons;
|
|
||||||
inherit buildFirefoxXpiAddon;
|
|
||||||
inherit lib;
|
|
||||||
inherit pkgs;
|
|
||||||
};
|
|
||||||
zed-editor = zed-config;
|
|
||||||
};
|
|
||||||
services = {
|
|
||||||
gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
defaultCacheTtl = 604800;
|
|
||||||
maxCacheTtl = 604800;
|
|
||||||
verbose = true;
|
|
||||||
};
|
|
||||||
syncthing = { enable = true; };
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
{ config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
home-manager-repo = "${config.xdg.configHome}/home-manager";
|
home-manager-repo = "${config.xdg.configHome}/home-manager";
|
||||||
mkOutOfStoreSymlink = config.lib.file.mkOutOfStoreSymlink;
|
mkOutOfStoreSymlink = config.lib.file.mkOutOfStoreSymlink;
|
||||||
plasma-config = import ./../programs/plasma.nix;
|
|
||||||
in {
|
in {
|
||||||
|
imports = [ ./../programs/plasma.nix ];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ kwalletcli ];
|
packages = with pkgs; [ kwalletcli ];
|
||||||
sessionVariables = { ZED_WINDOW_DECORATIONS = "server"; };
|
sessionVariables = { ZED_WINDOW_DECORATIONS = "server"; };
|
||||||
};
|
};
|
||||||
programs = { plasma = plasma-config { inherit config; }; };
|
|
||||||
services = {
|
services = {
|
||||||
gpg-agent = {
|
gpg-agent = {
|
||||||
# Use kwallet cli, but put it in extraConfig, otherwise gpg-agent will
|
# Use kwallet cli, but put it in extraConfig, otherwise gpg-agent will
|
||||||
|
|
|
||||||
6
programs/bat.nix
Normal file
6
programs/bat.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }: {
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config = { pager = "less -SRF"; };
|
||||||
|
};
|
||||||
|
}
|
||||||
7
programs/direnv.nix
Normal file
7
programs/direnv.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ ... }: {
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,258 +1,260 @@
|
||||||
{ firefox-addons, buildFirefoxXpiAddon, lib, pkgs }: {
|
{ firefox-addons, buildFirefoxXpiAddon, lib, ... }: {
|
||||||
enable = true;
|
programs.firefox = {
|
||||||
package =
|
enable = true;
|
||||||
null; # Use native package manager/Homebrew b/c there are fewer breakages
|
package =
|
||||||
nativeMessagingHosts = [ ];
|
null; # Use native package manager/Homebrew b/c there are fewer breakages
|
||||||
profileVersion = null;
|
nativeMessagingHosts = [ ];
|
||||||
profiles = {
|
profileVersion = null;
|
||||||
"millironx-default" = {
|
profiles = {
|
||||||
id = 0;
|
"millironx-default" = {
|
||||||
containers = {
|
id = 0;
|
||||||
"Personal" = {
|
containers = {
|
||||||
id = 1;
|
"Personal" = {
|
||||||
color = "blue";
|
id = 1;
|
||||||
icon = "fingerprint";
|
color = "blue";
|
||||||
};
|
icon = "fingerprint";
|
||||||
"Administrator" = {
|
|
||||||
id = 2;
|
|
||||||
color = "yellow";
|
|
||||||
icon = "briefcase";
|
|
||||||
};
|
|
||||||
"Kansas State CVM" = {
|
|
||||||
id = 3;
|
|
||||||
color = "purple";
|
|
||||||
icon = "pet";
|
|
||||||
};
|
|
||||||
"Kansas State" = {
|
|
||||||
id = 4;
|
|
||||||
color = "pink";
|
|
||||||
icon = "fruit";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
containersForce = true;
|
|
||||||
extensions.packages = with firefox-addons; [
|
|
||||||
bitwarden
|
|
||||||
containerise
|
|
||||||
floccus
|
|
||||||
libredirect
|
|
||||||
old-reddit-redirect
|
|
||||||
plasma-integration
|
|
||||||
pwas-for-firefox
|
|
||||||
ublock-origin
|
|
||||||
user-agent-string-switcher
|
|
||||||
web-archives
|
|
||||||
zotero-connector
|
|
||||||
(buildFirefoxXpiAddon rec {
|
|
||||||
pname = "always_in_container";
|
|
||||||
version = "1.0.7";
|
|
||||||
addonId = "{a1e9543e-5f73-4763-b376-04e53fd12cbd}";
|
|
||||||
url =
|
|
||||||
"https://addons.mozilla.org/firefox/downloads/file/4032840/${pname}-${version}.xpi";
|
|
||||||
sha256 = "sha256-bLxjL2P6Sd06q98MSHYRTNigtcjGwn/C2r4ANWCqKrw=";
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/tiansh/always-in-container";
|
|
||||||
description =
|
|
||||||
"Chose a container every time you try to open a page out of a container";
|
|
||||||
license = licenses.mpl20;
|
|
||||||
platforms = platforms.all;
|
|
||||||
};
|
};
|
||||||
})
|
"Administrator" = {
|
||||||
(buildFirefoxXpiAddon rec {
|
id = 2;
|
||||||
pname = "open_with";
|
color = "yellow";
|
||||||
version = "7.2.6";
|
icon = "briefcase";
|
||||||
addonId = "openwith@darktrojan.net";
|
|
||||||
url =
|
|
||||||
"https://addons.mozilla.org/firefox/downloads/file/3831723/${pname}-${version}.xpi";
|
|
||||||
sha256 = "sha256-f9eGhLxg4UyVn4o5e4DRkraLWzj11SGto/GOwsJa9kg=";
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://darktrojan.github.io/openwith/";
|
|
||||||
description =
|
|
||||||
"Quickly test out your web pages in Chrome, Edge, Safari, or Opera. Open With opens the current page in your other browsers with just two clicks.";
|
|
||||||
license = licenses.mpl20;
|
|
||||||
platforms = platforms.all;
|
|
||||||
};
|
};
|
||||||
})
|
"Kansas State CVM" = {
|
||||||
];
|
id = 3;
|
||||||
search = {
|
color = "purple";
|
||||||
default = "Milliron X Search";
|
icon = "pet";
|
||||||
privateDefault = "Milliron X Search";
|
|
||||||
force = true;
|
|
||||||
engines = {
|
|
||||||
"Milliron X Search" = {
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
rels = [ "results" ];
|
|
||||||
type = "text/html";
|
|
||||||
method = "GET";
|
|
||||||
template =
|
|
||||||
"https://search.millironx.com/search?q={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
rels = [ "suggestions" ];
|
|
||||||
type = "application/x-suggestions+json";
|
|
||||||
method = "GET";
|
|
||||||
template =
|
|
||||||
"https://search.millironx.com/autocompleter?q={searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
icon =
|
|
||||||
"https://search.millironx.com/static/themes/simple/img/favicon.png";
|
|
||||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
|
||||||
definedAliases = [ "@mxs" ];
|
|
||||||
};
|
};
|
||||||
"Perplexity" = {
|
"Kansas State" = {
|
||||||
urls =
|
id = 4;
|
||||||
[{ template = "https://www.perplexity.ai/?q={searchTerms}"; }];
|
color = "pink";
|
||||||
icon = "https://www.perplexity.ai/favicon.ico";
|
icon = "fruit";
|
||||||
updateInterval = 7 * 24 * 60 * 60 * 1000;
|
|
||||||
definedAliases = [ "@pxt" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
containersForce = true;
|
||||||
settings = {
|
extensions.packages = with firefox-addons; [
|
||||||
"app.normandy.first_run" = false;
|
bitwarden
|
||||||
"app.shield.optoutstudies.enabled" = false;
|
containerise
|
||||||
"browser.contentblocking.category" = "strict";
|
floccus
|
||||||
"browser.formfill.enable" = false;
|
libredirect
|
||||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" =
|
old-reddit-redirect
|
||||||
false;
|
plasma-integration
|
||||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" =
|
pwas-for-firefox
|
||||||
false;
|
ublock-origin
|
||||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
user-agent-string-switcher
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
web-archives
|
||||||
"browser.newtabpage.activity-stream.showWeather" = false;
|
zotero-connector
|
||||||
"browser.newtabpage.pinned" = [
|
(buildFirefoxXpiAddon rec {
|
||||||
{
|
pname = "always_in_container";
|
||||||
url = "https://millironx.com";
|
version = "1.0.7";
|
||||||
label = "Home";
|
addonId = "{a1e9543e-5f73-4763-b376-04e53fd12cbd}";
|
||||||
baseDomain = "millironx.com";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url = "https://nextcloud.millironx.com";
|
|
||||||
label = "Nextcloud";
|
|
||||||
baseDomain = "nextcloud.millironx.com";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url = "https://code.millironx.com";
|
|
||||||
label = "Code";
|
|
||||||
baseDomain = "code.millironx.com";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url = "https://video.millironx.com";
|
|
||||||
label = "Videos";
|
|
||||||
baseDomain = "video.millironx.com";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url = "https://photos.millironx.com";
|
|
||||||
label = "Photos";
|
|
||||||
baseDomain = "photos.millironx.com";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url = "https://vault.millironx.com";
|
|
||||||
label = "Vault";
|
|
||||||
baseDomain = "vault.millironx.com";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url = "https://www.perplexity.ai/";
|
|
||||||
label = "perplexity";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
url =
|
url =
|
||||||
"https://www.vet.k-state.edu/academics/student-faculty-handbook/";
|
"https://addons.mozilla.org/firefox/downloads/file/4032840/${pname}-${version}.xpi";
|
||||||
}
|
sha256 = "sha256-bLxjL2P6Sd06q98MSHYRTNigtcjGwn/C2r4ANWCqKrw=";
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/tiansh/always-in-container";
|
||||||
|
description =
|
||||||
|
"Chose a container every time you try to open a page out of a container";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(buildFirefoxXpiAddon rec {
|
||||||
|
pname = "open_with";
|
||||||
|
version = "7.2.6";
|
||||||
|
addonId = "openwith@darktrojan.net";
|
||||||
|
url =
|
||||||
|
"https://addons.mozilla.org/firefox/downloads/file/3831723/${pname}-${version}.xpi";
|
||||||
|
sha256 = "sha256-f9eGhLxg4UyVn4o5e4DRkraLWzj11SGto/GOwsJa9kg=";
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://darktrojan.github.io/openwith/";
|
||||||
|
description =
|
||||||
|
"Quickly test out your web pages in Chrome, Edge, Safari, or Opera. Open With opens the current page in your other browsers with just two clicks.";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
"browser.shopping.experience2023.active" = false;
|
search = {
|
||||||
"browser.startup.homepage_override.mstone" = "ignore";
|
default = "Milliron X Search";
|
||||||
"browser.tabs.closeWindowWithLastTab" = false;
|
privateDefault = "Milliron X Search";
|
||||||
"browser.tabs.inTitlebar" = 0;
|
force = true;
|
||||||
"browser.theme.content-theme" = 0;
|
engines = {
|
||||||
"browser.theme.toolbar-theme" = 0;
|
"Milliron X Search" = {
|
||||||
"browser.toolbars.bookmarks.visibility" = "never";
|
urls = [
|
||||||
"browser.uiCustomization.state" = {
|
{
|
||||||
placements = {
|
rels = [ "results" ];
|
||||||
"widget-overflow-fixed-list" = [ ];
|
type = "text/html";
|
||||||
"unified-extensions-area" = [
|
method = "GET";
|
||||||
|
template =
|
||||||
|
"https://search.millironx.com/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
rels = [ "suggestions" ];
|
||||||
|
type = "application/x-suggestions+json";
|
||||||
|
method = "GET";
|
||||||
|
template =
|
||||||
|
"https://search.millironx.com/autocompleter?q={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon =
|
||||||
|
"https://search.millironx.com/static/themes/simple/img/favicon.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
|
definedAliases = [ "@mxs" ];
|
||||||
|
};
|
||||||
|
"Perplexity" = {
|
||||||
|
urls =
|
||||||
|
[{ template = "https://www.perplexity.ai/?q={searchTerms}"; }];
|
||||||
|
icon = "https://www.perplexity.ai/favicon.ico";
|
||||||
|
updateInterval = 7 * 24 * 60 * 60 * 1000;
|
||||||
|
definedAliases = [ "@pxt" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
"app.normandy.first_run" = false;
|
||||||
|
"app.shield.optoutstudies.enabled" = false;
|
||||||
|
"browser.contentblocking.category" = "strict";
|
||||||
|
"browser.formfill.enable" = false;
|
||||||
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" =
|
||||||
|
false;
|
||||||
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" =
|
||||||
|
false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showWeather" = false;
|
||||||
|
"browser.newtabpage.pinned" = [
|
||||||
|
{
|
||||||
|
url = "https://millironx.com";
|
||||||
|
label = "Home";
|
||||||
|
baseDomain = "millironx.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "https://nextcloud.millironx.com";
|
||||||
|
label = "Nextcloud";
|
||||||
|
baseDomain = "nextcloud.millironx.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "https://code.millironx.com";
|
||||||
|
label = "Code";
|
||||||
|
baseDomain = "code.millironx.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "https://video.millironx.com";
|
||||||
|
label = "Videos";
|
||||||
|
baseDomain = "video.millironx.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "https://photos.millironx.com";
|
||||||
|
label = "Photos";
|
||||||
|
baseDomain = "photos.millironx.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "https://vault.millironx.com";
|
||||||
|
label = "Vault";
|
||||||
|
baseDomain = "vault.millironx.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url = "https://www.perplexity.ai/";
|
||||||
|
label = "perplexity";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
url =
|
||||||
|
"https://www.vet.k-state.edu/academics/student-faculty-handbook/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
"browser.shopping.experience2023.active" = false;
|
||||||
|
"browser.startup.homepage_override.mstone" = "ignore";
|
||||||
|
"browser.tabs.closeWindowWithLastTab" = false;
|
||||||
|
"browser.tabs.inTitlebar" = 0;
|
||||||
|
"browser.theme.content-theme" = 0;
|
||||||
|
"browser.theme.toolbar-theme" = 0;
|
||||||
|
"browser.toolbars.bookmarks.visibility" = "never";
|
||||||
|
"browser.uiCustomization.state" = {
|
||||||
|
placements = {
|
||||||
|
"widget-overflow-fixed-list" = [ ];
|
||||||
|
"unified-extensions-area" = [
|
||||||
|
"floccus_handmadeideas_org-browser-action"
|
||||||
|
"7esoorv3_alefvanoon_anonaddy_me-browser-action"
|
||||||
|
"plasma-browser-integration_kde_org-browser-action"
|
||||||
|
"firefoxpwa_filips_si-browser-action"
|
||||||
|
"_d07ccf11-c0cd-4938-a265-2a4d6ad01189_-browser-action" # Web Archives
|
||||||
|
"openwith_darktrojan_net-browser-action"
|
||||||
|
"zotero_chnm_gmu_edu-browser-action"
|
||||||
|
];
|
||||||
|
"nav-bar" = [
|
||||||
|
"back-button"
|
||||||
|
"forward-button"
|
||||||
|
"customizableui-special-spring1"
|
||||||
|
"vertical-spacer"
|
||||||
|
"urlbar-container"
|
||||||
|
"stop-reload-button"
|
||||||
|
"customizableui-special-spring2"
|
||||||
|
"downloads-button"
|
||||||
|
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" # Bitwarden
|
||||||
|
"ublock0_raymondhill_net-browser-action"
|
||||||
|
"unified-extensions-button"
|
||||||
|
"_testpilot-containers-browser-action"
|
||||||
|
];
|
||||||
|
"TabsToolbar" = [
|
||||||
|
"firefox-view-button"
|
||||||
|
"tabbrowser-tabs"
|
||||||
|
"new-tab-button"
|
||||||
|
"alltabs-button"
|
||||||
|
];
|
||||||
|
"vertical-tabs" = [ ];
|
||||||
|
"PersonalToolbar" = [ "import-button" "personal-bookmarks" ];
|
||||||
|
};
|
||||||
|
seen = [
|
||||||
|
"save-to-pocket-button"
|
||||||
|
"developer-button"
|
||||||
|
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
|
||||||
|
"_testpilot-containers-browser-action"
|
||||||
"floccus_handmadeideas_org-browser-action"
|
"floccus_handmadeideas_org-browser-action"
|
||||||
"7esoorv3_alefvanoon_anonaddy_me-browser-action"
|
"7esoorv3_alefvanoon_anonaddy_me-browser-action"
|
||||||
"plasma-browser-integration_kde_org-browser-action"
|
"plasma-browser-integration_kde_org-browser-action"
|
||||||
"firefoxpwa_filips_si-browser-action"
|
"firefoxpwa_filips_si-browser-action"
|
||||||
"_d07ccf11-c0cd-4938-a265-2a4d6ad01189_-browser-action" # Web Archives
|
|
||||||
"openwith_darktrojan_net-browser-action"
|
|
||||||
"zotero_chnm_gmu_edu-browser-action"
|
|
||||||
];
|
|
||||||
"nav-bar" = [
|
|
||||||
"back-button"
|
|
||||||
"forward-button"
|
|
||||||
"customizableui-special-spring1"
|
|
||||||
"vertical-spacer"
|
|
||||||
"urlbar-container"
|
|
||||||
"stop-reload-button"
|
|
||||||
"customizableui-special-spring2"
|
|
||||||
"downloads-button"
|
|
||||||
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" # Bitwarden
|
|
||||||
"ublock0_raymondhill_net-browser-action"
|
"ublock0_raymondhill_net-browser-action"
|
||||||
"unified-extensions-button"
|
"_d07ccf11-c0cd-4938-a265-2a4d6ad01189_-browser-action"
|
||||||
"_testpilot-containers-browser-action"
|
"zotero_chnm_gmu_edu-browser-action"
|
||||||
|
"openwith_darktrojan_net-browser-action"
|
||||||
];
|
];
|
||||||
"TabsToolbar" = [
|
dirtyAreaCache = [
|
||||||
"firefox-view-button"
|
"nav-bar"
|
||||||
"tabbrowser-tabs"
|
"vertical-tabs"
|
||||||
"new-tab-button"
|
"PersonalToolbar"
|
||||||
"alltabs-button"
|
"unified-extensions-area"
|
||||||
];
|
];
|
||||||
"vertical-tabs" = [ ];
|
currentVersion = 21;
|
||||||
"PersonalToolbar" = [ "import-button" "personal-bookmarks" ];
|
newElementCount = 3;
|
||||||
};
|
};
|
||||||
seen = [
|
"browser.urlbar.suggest.showSearchSuggestionsFirst" = false;
|
||||||
"save-to-pocket-button"
|
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||||
"developer-button"
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"
|
"browser.urlbar.suggest.quicksuggest.trending" = false;
|
||||||
"_testpilot-containers-browser-action"
|
"browser.warnOnQuitShortcut" = false;
|
||||||
"floccus_handmadeideas_org-browser-action"
|
"datareporting.healthreport.uploadEnabled" = false;
|
||||||
"7esoorv3_alefvanoon_anonaddy_me-browser-action"
|
"datareporting.usage.uploadEnabled" = false;
|
||||||
"plasma-browser-integration_kde_org-browser-action"
|
"extensions.formautofill.addresses.enabled" = false;
|
||||||
"firefoxpwa_filips_si-browser-action"
|
"extensions.formautofill.creditCards.enabled" = false;
|
||||||
"ublock0_raymondhill_net-browser-action"
|
"extensions.autoDisableScopes" = 0;
|
||||||
"_d07ccf11-c0cd-4938-a265-2a4d6ad01189_-browser-action"
|
"network.trr.mode" = 3; # DNS over HTTPS always
|
||||||
"zotero_chnm_gmu_edu-browser-action"
|
"network.trr.uri" = "https://family.dns.mullvad.net/dns-query";
|
||||||
"openwith_darktrojan_net-browser-action"
|
"network.trr.custom_uri" = "https://family.dns.mullvad.net/dns-query";
|
||||||
];
|
"privacy.bounceTrackingProtection.mode" = 1;
|
||||||
dirtyAreaCache = [
|
"privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = false;
|
||||||
"nav-bar"
|
"privacy.clearOnShutdown_v2.cache" = true;
|
||||||
"vertical-tabs"
|
"privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
|
||||||
"PersonalToolbar"
|
"privacy.clearOnShutdown_v2.formdata" = true;
|
||||||
"unified-extensions-area"
|
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = false;
|
||||||
];
|
"privacy.history.custom" = true;
|
||||||
currentVersion = 21;
|
"privacy.query_stripping.enabled" = true;
|
||||||
newElementCount = 3;
|
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3" = true;
|
||||||
|
"privacy.sanitize.sanitizeOnShutdown" = true;
|
||||||
|
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||||
|
"privacy.trackingprotection.enabled" = true;
|
||||||
|
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||||
|
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||||
};
|
};
|
||||||
"browser.urlbar.suggest.showSearchSuggestionsFirst" = false;
|
|
||||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
|
||||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
|
||||||
"browser.urlbar.suggest.quicksuggest.trending" = false;
|
|
||||||
"browser.warnOnQuitShortcut" = false;
|
|
||||||
"datareporting.healthreport.uploadEnabled" = false;
|
|
||||||
"datareporting.usage.uploadEnabled" = false;
|
|
||||||
"extensions.formautofill.addresses.enabled" = false;
|
|
||||||
"extensions.formautofill.creditCards.enabled" = false;
|
|
||||||
"extensions.autoDisableScopes" = 0;
|
|
||||||
"network.trr.mode" = 3; # DNS over HTTPS always
|
|
||||||
"network.trr.uri" = "https://family.dns.mullvad.net/dns-query";
|
|
||||||
"network.trr.custom_uri" = "https://family.dns.mullvad.net/dns-query";
|
|
||||||
"privacy.bounceTrackingProtection.mode" = 1;
|
|
||||||
"privacy.clearOnShutdown_v2.browsingHistoryAndDownloads" = false;
|
|
||||||
"privacy.clearOnShutdown_v2.cache" = true;
|
|
||||||
"privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
|
|
||||||
"privacy.clearOnShutdown_v2.formdata" = true;
|
|
||||||
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = false;
|
|
||||||
"privacy.history.custom" = true;
|
|
||||||
"privacy.query_stripping.enabled" = true;
|
|
||||||
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3" = true;
|
|
||||||
"privacy.sanitize.sanitizeOnShutdown" = true;
|
|
||||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
|
||||||
"privacy.trackingprotection.enabled" = true;
|
|
||||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
|
||||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
45
programs/git.nix
Normal file
45
programs/git.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
{ ... }: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Thomas A. Christensen II";
|
||||||
|
userEmail = "25492070+MillironX@users.noreply.github.com";
|
||||||
|
extraConfig = {
|
||||||
|
core = { editor = "nvim"; };
|
||||||
|
credential = { helper = "store"; };
|
||||||
|
color = { ui = "auto"; };
|
||||||
|
init = { defaultBranch = "master"; };
|
||||||
|
column = { ui = "auto"; };
|
||||||
|
branch = { sort = "-committerdate"; };
|
||||||
|
tag = { sort = "version:refname"; };
|
||||||
|
diff = {
|
||||||
|
algorithm = "histogram";
|
||||||
|
colorMoved = "plain";
|
||||||
|
mnemonicPrefix = true;
|
||||||
|
renames = true;
|
||||||
|
};
|
||||||
|
push = {
|
||||||
|
default = "simple";
|
||||||
|
autoSetupRemote = true;
|
||||||
|
followTages = true;
|
||||||
|
};
|
||||||
|
fetch = {
|
||||||
|
prune = true;
|
||||||
|
pruneTags = true;
|
||||||
|
all = true;
|
||||||
|
};
|
||||||
|
help = { autocorrect = "prompt"; };
|
||||||
|
commit = { verbose = true; };
|
||||||
|
rerere = {
|
||||||
|
enabled = true;
|
||||||
|
autoupdate = true;
|
||||||
|
};
|
||||||
|
rebase = {
|
||||||
|
autoSquash = true;
|
||||||
|
autoStash = true;
|
||||||
|
updateRefs = true;
|
||||||
|
};
|
||||||
|
merge = { conflictstyle = "zdiff3"; };
|
||||||
|
pull = { rebase = true; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
7
programs/lsd.nix
Normal file
7
programs/lsd.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{ ... }: {
|
||||||
|
programs.lsd = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
23
programs/neovim.nix
Normal file
23
programs/neovim.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.neovim-unwrapped;
|
||||||
|
defaultEditor = true;
|
||||||
|
coc.enable = true;
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
mason-nvim
|
||||||
|
mason-lspconfig-nvim
|
||||||
|
nvim-lspconfig
|
||||||
|
nvim-dap
|
||||||
|
nvim-dap-ui
|
||||||
|
null-ls-nvim
|
||||||
|
nvim-lint
|
||||||
|
formatter-nvim
|
||||||
|
lspsaga-nvim
|
||||||
|
vim-slime
|
||||||
|
];
|
||||||
|
extraLuaConfig = ''
|
||||||
|
require("mason").setup()
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
{ config }: {
|
{ config, ... }: {
|
||||||
enable = true;
|
programs.plasma = {
|
||||||
workspace = {
|
enable = true;
|
||||||
wallpaperFillMode = "preserveAspectCrop";
|
workspace = {
|
||||||
wallpaperSlideShow = {
|
wallpaperFillMode = "preserveAspectCrop";
|
||||||
interval = 86400;
|
wallpaperSlideShow = {
|
||||||
path =
|
interval = 86400;
|
||||||
"${config.home.homeDirectory}/Nextcloud/Pictures/Desktop backgrounds/";
|
path =
|
||||||
|
"${config.home.homeDirectory}/Nextcloud/Pictures/Desktop backgrounds/";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
42
programs/shells.nix
Normal file
42
programs/shells.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
conda_init = shell: ''
|
||||||
|
eval "$(${pkgs.micromamba}/bin/micromamba shell hook --shell ${shell})"
|
||||||
|
|
||||||
|
'';
|
||||||
|
nd_bash_function = ''
|
||||||
|
function nd() {
|
||||||
|
mkdir -p "$1" && cd "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
programs = {
|
||||||
|
bash = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = conda_init "bash" + nd_bash_function + ''
|
||||||
|
export PS1="[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\] \[\e[34m\]\W\[\e[m\]] \\$ "
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
completionInit =
|
||||||
|
"autoload -U compinit && compinit; autoload -U bashcompinit && bashcompinit";
|
||||||
|
antidote = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"getantidote/use-omz"
|
||||||
|
"ohmyzsh/ohmyzsh path:lib"
|
||||||
|
"ohmyzsh/ohmyzsh path:plugins/git"
|
||||||
|
"ohmyzsh/ohmyzsh path:plugins/extract"
|
||||||
|
"zsh-users/zsh-syntax-highlighting"
|
||||||
|
"zsh-users/zsh-autosuggestions"
|
||||||
|
"zsh-users/zsh-completions"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
initContent = conda_init "zsh" + nd_bash_function;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,88 +1,89 @@
|
||||||
{ lib }:
|
{ lib, ... }:
|
||||||
let language-format-string = "[$symbol($version )]($style)";
|
let language-format-string = "[$symbol($version )]($style)";
|
||||||
in {
|
in {
|
||||||
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
settings = {
|
settings = {
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
format = lib.concatStrings [
|
format = lib.concatStrings [
|
||||||
"$os"
|
"$os"
|
||||||
" "
|
" "
|
||||||
"($container )"
|
"($container )"
|
||||||
"($direnv)"
|
"($direnv)"
|
||||||
"\\["
|
"\\["
|
||||||
"([$username](bold yellow)@[$hostname](bold red) )"
|
"([$username](bold yellow)@[$hostname](bold red) )"
|
||||||
"[$directory](cyan)"
|
"[$directory](cyan)"
|
||||||
"($git_branch$git_commit$git_state$git_metrics$git_status)"
|
"($git_branch$git_commit$git_state$git_metrics$git_status)"
|
||||||
"\\] "
|
"\\] "
|
||||||
"($conda$nix_shell)"
|
"($conda$nix_shell)"
|
||||||
"($julia$nodejs$python$quarto$rlang$ruby)"
|
"($julia$nodejs$python$quarto$rlang$ruby)"
|
||||||
"($shell)"
|
"($shell)"
|
||||||
"$character"
|
"$character"
|
||||||
];
|
];
|
||||||
right_format = lib.concatStrings [ "$cmd_duration" "$battery" ];
|
right_format = lib.concatStrings [ "$cmd_duration" "$battery" ];
|
||||||
character = {
|
character = {
|
||||||
success_symbol = "[\\$](bold green)";
|
success_symbol = "[\\$](bold green)";
|
||||||
error_symbol = "[\\$](bold red)";
|
error_symbol = "[\\$](bold red)";
|
||||||
};
|
|
||||||
conda = { format = "[$symbol$environment]($style) "; };
|
|
||||||
direnv = {
|
|
||||||
disabled = false;
|
|
||||||
allowed_msg = "";
|
|
||||||
not_allowed_msg = "";
|
|
||||||
denied_msg = "";
|
|
||||||
loaded_msg = "";
|
|
||||||
unloaded_msg = "";
|
|
||||||
symbol = " ";
|
|
||||||
};
|
|
||||||
git_metrics = { disabled = false; };
|
|
||||||
git_status = {
|
|
||||||
# Remove trailing space from format string
|
|
||||||
format = "([\\[$all_status$ahead_behind\\]]($style))";
|
|
||||||
};
|
|
||||||
hostname = { format = "[$hostname]($style)"; };
|
|
||||||
julia = { format = language-format-string; };
|
|
||||||
nix_shell = {
|
|
||||||
symbol = "";
|
|
||||||
impure_msg = "/";
|
|
||||||
pure_msg = "/";
|
|
||||||
format = "[$symbol$state( ($name))]($style) ";
|
|
||||||
};
|
|
||||||
nodejs = { format = language-format-string; };
|
|
||||||
os = {
|
|
||||||
disabled = false;
|
|
||||||
symbols = {
|
|
||||||
AlmaLinux = "";
|
|
||||||
Alpine = "";
|
|
||||||
CentOS = "";
|
|
||||||
Debian = "";
|
|
||||||
Fedora = "";
|
|
||||||
Macos = "";
|
|
||||||
NixOS = "";
|
|
||||||
};
|
};
|
||||||
|
conda = { format = "[$symbol$environment]($style) "; };
|
||||||
|
direnv = {
|
||||||
|
disabled = false;
|
||||||
|
allowed_msg = "";
|
||||||
|
not_allowed_msg = "";
|
||||||
|
denied_msg = "";
|
||||||
|
loaded_msg = "";
|
||||||
|
unloaded_msg = "";
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
git_metrics = { disabled = false; };
|
||||||
|
git_status = {
|
||||||
|
# Remove trailing space from format string
|
||||||
|
format = "([\\[$all_status$ahead_behind\\]]($style))";
|
||||||
|
};
|
||||||
|
hostname = { format = "[$hostname]($style)"; };
|
||||||
|
julia = { format = language-format-string; };
|
||||||
|
nix_shell = {
|
||||||
|
symbol = "";
|
||||||
|
impure_msg = "/";
|
||||||
|
pure_msg = "/";
|
||||||
|
format = "[$symbol$state( ($name))]($style) ";
|
||||||
|
};
|
||||||
|
nodejs = { format = language-format-string; };
|
||||||
|
os = {
|
||||||
|
disabled = false;
|
||||||
|
symbols = {
|
||||||
|
AlmaLinux = "";
|
||||||
|
Alpine = "";
|
||||||
|
CentOS = "";
|
||||||
|
Debian = "";
|
||||||
|
Fedora = "";
|
||||||
|
Macos = "";
|
||||||
|
NixOS = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
python = {
|
||||||
|
format =
|
||||||
|
"[\${symbol}\${pyenv_prefix}(\${version} )(($virtualenv) )]($style)";
|
||||||
|
symbol = "";
|
||||||
|
};
|
||||||
|
quarto = { format = language-format-string; };
|
||||||
|
rlang = {
|
||||||
|
format = language-format-string;
|
||||||
|
symbol = "";
|
||||||
|
};
|
||||||
|
ruby = {
|
||||||
|
format = language-format-string;
|
||||||
|
symbol = "";
|
||||||
|
};
|
||||||
|
shell = {
|
||||||
|
# Show which shell if not using zsh (the default)
|
||||||
|
disabled = false;
|
||||||
|
zsh_indicator = "";
|
||||||
|
style = "yellow bold";
|
||||||
|
};
|
||||||
|
username = { format = "[$user]($style)"; };
|
||||||
};
|
};
|
||||||
python = {
|
|
||||||
format =
|
|
||||||
"[\${symbol}\${pyenv_prefix}(\${version} )(($virtualenv) )]($style)";
|
|
||||||
symbol = "";
|
|
||||||
};
|
|
||||||
quarto = { format = language-format-string; };
|
|
||||||
rlang = {
|
|
||||||
format = language-format-string;
|
|
||||||
symbol = "";
|
|
||||||
};
|
|
||||||
ruby = {
|
|
||||||
format = language-format-string;
|
|
||||||
symbol = "";
|
|
||||||
};
|
|
||||||
shell = {
|
|
||||||
# Show which shell if not using zsh (the default)
|
|
||||||
disabled = false;
|
|
||||||
zsh_indicator = "";
|
|
||||||
style = "yellow bold";
|
|
||||||
};
|
|
||||||
username = { format = "[$user]($style)"; };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
148
programs/zed.nix
148
programs/zed.nix
|
|
@ -1,81 +1,83 @@
|
||||||
{
|
{ ... }: {
|
||||||
enable = true;
|
programs.zed-editor = {
|
||||||
extensions = [
|
enable = true;
|
||||||
"basher"
|
extensions = [
|
||||||
"clojure"
|
"basher"
|
||||||
"cspell"
|
"clojure"
|
||||||
"dockerfile"
|
"cspell"
|
||||||
"earthfile"
|
"dockerfile"
|
||||||
"git-firefly"
|
"earthfile"
|
||||||
"html"
|
"git-firefly"
|
||||||
"julia"
|
"html"
|
||||||
"latex"
|
"julia"
|
||||||
"macos-classic"
|
"latex"
|
||||||
"nix"
|
"macos-classic"
|
||||||
"r"
|
"nix"
|
||||||
"toml"
|
"r"
|
||||||
"xml"
|
"toml"
|
||||||
];
|
"xml"
|
||||||
userSettings = {
|
];
|
||||||
agent = {
|
userSettings = {
|
||||||
default_model = {
|
agent = {
|
||||||
provider = "copilot_chat";
|
default_model = {
|
||||||
model = "gpt-4o";
|
provider = "copilot_chat";
|
||||||
};
|
model = "gpt-4.1";
|
||||||
};
|
|
||||||
auto_install_extensions = {
|
|
||||||
basher = true;
|
|
||||||
clojure = true;
|
|
||||||
cspell = true;
|
|
||||||
dockerfile = true;
|
|
||||||
earthfile = true;
|
|
||||||
git-firefly = true;
|
|
||||||
html = true;
|
|
||||||
julia = true;
|
|
||||||
latex = true;
|
|
||||||
macos-classic = true;
|
|
||||||
nix = true;
|
|
||||||
r = true;
|
|
||||||
toml = true;
|
|
||||||
xml = true;
|
|
||||||
};
|
|
||||||
buffer_font_family = "FiraCode Nerd Font";
|
|
||||||
buffer_font_size = 11;
|
|
||||||
features = { edit_prediction_provider = "zed"; };
|
|
||||||
languages = {
|
|
||||||
Julia = {
|
|
||||||
formatter = {
|
|
||||||
external = {
|
|
||||||
command = "julia";
|
|
||||||
arguments = [
|
|
||||||
"-e"
|
|
||||||
"using JuliaFormatter; print(format_text(String(read(stdin))));"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
LaTeX = {
|
auto_install_extensions = {
|
||||||
formatter = {
|
basher = true;
|
||||||
external = {
|
clojure = true;
|
||||||
command = "tex-fmt";
|
cspell = true;
|
||||||
arguments = [ "--stdin" ];
|
dockerfile = true;
|
||||||
|
earthfile = true;
|
||||||
|
git-firefly = true;
|
||||||
|
html = true;
|
||||||
|
julia = true;
|
||||||
|
latex = true;
|
||||||
|
macos-classic = true;
|
||||||
|
nix = true;
|
||||||
|
r = true;
|
||||||
|
toml = true;
|
||||||
|
xml = true;
|
||||||
|
};
|
||||||
|
buffer_font_family = "FiraCode Nerd Font";
|
||||||
|
buffer_font_size = 11;
|
||||||
|
features = { edit_prediction_provider = "zed"; };
|
||||||
|
languages = {
|
||||||
|
Julia = {
|
||||||
|
formatter = {
|
||||||
|
external = {
|
||||||
|
command = "julia";
|
||||||
|
arguments = [
|
||||||
|
"-e"
|
||||||
|
"using JuliaFormatter; print(format_text(String(read(stdin))));"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
LaTeX = {
|
||||||
|
formatter = {
|
||||||
|
external = {
|
||||||
|
command = "tex-fmt";
|
||||||
|
arguments = [ "--stdin" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
Nix = { formatter = { external = { command = "nixfmt"; }; }; };
|
||||||
};
|
};
|
||||||
Nix = { formatter = { external = { command = "nixfmt"; }; }; };
|
preview_tabs = { enabled = false; };
|
||||||
|
ssh_connections = [{
|
||||||
|
host = "anderson";
|
||||||
|
projects = [{ paths = [ "/var/docker" ]; }];
|
||||||
|
}];
|
||||||
|
show_edit_predictions = false;
|
||||||
|
terminal = {
|
||||||
|
font_family = "MesloLGS NF";
|
||||||
|
font_size = 10;
|
||||||
|
};
|
||||||
|
theme = "macOS Classic Dark2";
|
||||||
|
ui_font_size = 16;
|
||||||
|
wrap_guides = [ 80 92 120 ];
|
||||||
};
|
};
|
||||||
preview_tabs = { enabled = false; };
|
|
||||||
ssh_connections = [{
|
|
||||||
host = "anderson";
|
|
||||||
projects = [{ paths = [ "/var/docker" ]; }];
|
|
||||||
}];
|
|
||||||
show_edit_predictions = false;
|
|
||||||
terminal = {
|
|
||||||
font_family = "MesloLGS NF";
|
|
||||||
font_size = 10;
|
|
||||||
};
|
|
||||||
theme = "macOS Classic Dark2";
|
|
||||||
ui_font_size = 16;
|
|
||||||
wrap_guides = [ 80 92 120 ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
services/gpg-agent.nix
Normal file
11
services/gpg-agent.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ ... }: {
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
defaultCacheTtl = 604800;
|
||||||
|
maxCacheTtl = 604800;
|
||||||
|
verbose = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
age.secrets = {
|
age.secrets = {
|
||||||
|
|
@ -9,8 +9,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
quadlet = let inherit (config.virtualisation.quadlet) networks pods;
|
quadlet = {
|
||||||
in {
|
|
||||||
containers = {
|
containers = {
|
||||||
pihole = {
|
pihole = {
|
||||||
containerConfig = {
|
containerConfig = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue