Compare commits

...

13 commits

Author SHA1 Message Date
d1ee40c92b
Add Anderson config 2025-04-01 12:31:32 -05:00
1439c8741a
Convert to modular dotfiles 2025-03-31 18:56:17 -05:00
3564bf87bc
Add Background Music package 2025-03-30 22:02:37 -05:00
4c0472ab5d
Change Texlive scheme to basic
Scheme-full just takes up too much space,
plus I like to configure individual
packages within each project's flake, so
just use the basic configuration
2025-03-30 22:00:53 -05:00
3725ef844e
Downgrade woodpecker to stable packages 2025-03-30 21:55:35 -05:00
158ca8bfe3
Update flake lock 2025-03-13 16:14:08 -05:00
34ba1fc50e
switch iTerm to Homebrew 2025-03-13 16:04:56 -05:00
7b76c95c2f
add addional docker dependencies 2025-03-13 16:01:29 -05:00
de85e9fabd
add more git customizations
Most of this comes from
<https://blog.gitbutler.com/how-git-core-devs-configure-git/>, but there
was a non-zero amount of configs that I went "Oh, you can do that? I
don't need to use my alias anymore!" or "Wait, do I actually have that
set globally, or do I just hope for the best?"
2025-02-22 12:18:39 -06:00
5665b86264
add KDE/QT build dependencies for QML
For an experiment I'm running in Julia. Right now it's better to have
these globally available. I suppose the right thing to do is to put this
in individual `flake.nix` files per-project eventually.
2025-02-22 12:01:06 -06:00
f667877d70
add Logitech app 2025-02-18 11:23:08 -06:00
c1c72f197e
add docker-credential-helper 2025-02-18 11:22:44 -06:00
ee6f5cd126
Remove HiddenBar 2025-02-16 15:08:11 -06:00
20 changed files with 2437 additions and 46 deletions

View file

@ -8,8 +8,6 @@
environment.systemPackages = with pkgs; [
vim
agenix.packages.aarch64-darwin.default
iterm2
tailscale
(pkgs.writeShellScriptBin "portalpatch" ''
#!/usr/bin/env bash
# Automatically patch the game Portal for use on Apple Silicon using the
@ -95,11 +93,14 @@
];
brews = [
"borgbackup/tap/borgbackup-fuse"
"buildkit"
{
name = "colima";
restart_service = true;
}
"docker"
"docker-buildx"
"docker-credential-helper"
"firefoxpwa"
"r"
@ -116,12 +117,14 @@
"alt-tab"
"anki"
"anythingllm"
"background-music"
"element"
"eloston-chromium"
"firefox"
"freetube"
"inkscape"
"kdeconnect@nightly"
"iterm2"
"logi-options+"
"logseq"
"macfuse"
"musescore"
@ -146,7 +149,6 @@
];
masApps = {
"Bitwarden" = 1352778147;
"Hidden Bar" = 1452453066;
"Tailscale" = 1475387142;
};
};

View file

@ -0,0 +1,20 @@
[Appearance]
ColorScheme=Breeze
Font=MesloLGS NF,10,-1,5,50,0,0,0,0,0
TabColor=255,255,255
[Cursor Options]
CursorShape=1
[General]
Name=My Default
Parent=FALLBACK/
RemoteTabTitleFormat=[SSH] %H
[Interaction Options]
CopyTextAsHTML=false
MouseWheelZoomEnabled=false
UnderlineFilesEnabled=true
[Terminal Features]
BlinkingCursorEnabled=true

12
dotfiles/kate.desktop Normal file
View file

@ -0,0 +1,12 @@
[Desktop Entry]
Actions=OpenWithKate
Icon=kate
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/octet-stream;
Type=Service
X-KDE-Priority=TopLevel
[Desktop Action OpenWithKate]
Exec=kate %u
Icon=kate
Name=Edit with Kate

9
dotfiles/konsolerc Normal file
View file

@ -0,0 +1,9 @@
[Desktop Entry]
DefaultProfile=My Default.profile
[MainWindow]
StatusBar=Disabled
ToolBarsMovable=Disabled
[UiSettings]
ColorScheme=Default

1833
dotfiles/p10k.zsh Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
[Desktop Entry]
Actions=PPTConvert
Icon=libreoffice-impress
Type=Service
X-KDE-Priority=TopLevel
MimeType=application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;application/vnd.oasis.opendocument.presentation;
ServiceTypes=KonqPopupMenu/Plugin
[Desktop Action PPTConvert]
Exec=soffice --headless --convert-to pdf:impress_pdf_Export %f
Icon=libreoffice-impress
Name=Convert to PDF

11
dotfiles/startup.jl Normal file
View file

@ -0,0 +1,11 @@
try
using OhMyREPL
enable_autocomplete_brackets(false)
catch e
@warn "Error initalizing OhMyREPL" exception=(e, catch_backtrace())
end
try
using Revise
catch e
@warn "Error initalizing Revise" exception=(e, catch_backtrace())
end

23
dotfiles/vlc.desktop Normal file
View file

@ -0,0 +1,23 @@
[Desktop Entry]
Actions=VLCPlayFolder
Icon=vlc
ServiceTypes=KonqPopupMenu/Plugin,inode/directory,inode/directory-locked
Type=Service
X-KDE-Priority=TopLevel
[Desktop Entry]
Actions=AppendVLCPlaylist
Icon=vlc
MimeType=application/ogg;application/x-ogg;audio/ogg;audio/vorbis;audio/x-vorbis;audio/x-vorbis+ogg;video/ogg;video/x-ogm;video/x-ogm+ogg;video/x-theora+ogg;video/x-theora;audio/x-speex;audio/opus;application/x-flac;audio/flac;audio/x-flac;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;video/x-ms-asf;video/x-ms-asf-plugin;video/x-ms-asx;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-msvideo;audio/x-pn-windows-acm;video/divx;video/msvideo;video/vnd.divx;video/avi;video/x-avi;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/vnd.rn-realaudio;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-real-audio;audio/x-realaudio;video/vnd.rn-realvideo;audio/mpeg;audio/mpg;audio/mp1;audio/mp2;audio/mp3;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpg;video/mp2t;video/mpeg;video/mpeg-system;video/x-mpeg;video/x-mpeg2;video/x-mpeg-system;application/mpeg4-iod;application/mpeg4-muxcodetable;application/x-extension-m4a;application/x-extension-mp4;audio/aac;audio/m4a;audio/mp4;audio/x-m4a;audio/x-aac;video/mp4;video/mp4v-es;video/x-m4v;application/x-quicktime-media-link;application/x-quicktimeplayer;video/quicktime;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/3gpp;audio/3gpp2;audio/AMR;audio/AMR-WB;video/3gp;video/3gpp;video/3gpp2;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtsp;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/icy;x-scheme-handler/icyx;application/x-cd-image;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/ram;application/xspf+xml;audio/mpegurl;audio/x-mpegurl;audio/scpls;audio/x-scpls;text/google-video-pointer;text/x-google-video-pointer;video/vnd.mpegurl;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.ms-wpl;application/sdp;audio/dv;video/dv;audio/x-aiff;audio/x-pn-aiff;video/x-anim;video/x-nsv;video/fli;video/flv;video/x-flc;video/x-fli;video/x-flv;audio/wav;audio/x-pn-au;audio/x-pn-wav;audio/x-wav;audio/x-adpcm;audio/ac3;audio/eac3;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/basic;audio/midi;audio/x-ape;audio/x-gsm;audio/x-musepack;audio/x-tta;audio/x-wavpack;audio/x-shorten;application/x-shockwave-flash;application/x-flash-video;misc/ultravox;image/vnd.rn-realpix;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-xm;application/mxf;
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
[Desktop Action VLCPlayFolder]
Exec=vlc %f
Icon=vlc
Name=Play Folder with VLC
[Desktop Action AppendVLCPlaylist]
Exec=vlc --one-instance --playlist-enqueue %U
Icon=vlc
Name=Append to VLC Playlist

View file

@ -0,0 +1,12 @@
[Desktop Entry]
Actions=WordConvert
Icon=libreoffice-writer
Type=Service
X-KDE-Priority=TopLevel
MimeType=application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;application/vnd.oasis.opendocument.text;
ServiceTypes=KonqPopupMenu/Plugin
[Desktop Action WordConvert]
Exec=soffice --headless --convert-to pdf:writer_pdf_Export %f
Icon=libreoffice-writer
Name=Convert to PDF

16
dotfiles/yakuakerc Normal file
View file

@ -0,0 +1,16 @@
[Desktop Entry]
DefaultProfile=My Default.profile
[Dialogs]
FirstRun=false
[Shortcuts]
next-session=Shift+Right; Ctrl+Shift+Tab
previous-terminal=none
[Window]
DynamicTabTitles=true
Height=60
Screen=1
ShowSystrayIcon=false
Width=60

30
flake.lock generated
View file

@ -10,11 +10,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1723293904,
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
"lastModified": 1736955230,
"narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
"owner": "ryantm",
"repo": "agenix",
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
"rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
"type": "github"
},
"original": {
@ -73,11 +73,11 @@
]
},
"locked": {
"lastModified": 1734366194,
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"type": "github"
},
"original": {
@ -94,11 +94,11 @@
]
},
"locked": {
"lastModified": 1736820923,
"narHash": "sha256-SDuKLOWAh8VJRXlNWQn9QE99bjeEUAAbYXqrKGbsiyk=",
"lastModified": 1741126078,
"narHash": "sha256-ng0a4cIq3c9E3iGKomlwqKzVYs2RLOzQho2U1Mc2sqU=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "944c2b181792ae7ae6b20c0df3f44879c11706c9",
"rev": "c172f50b55b087f8e7801631de977461603bb976",
"type": "github"
},
"original": {
@ -110,11 +110,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1736949135,
"narHash": "sha256-HGSacCG66FNt/oQjxXsp+2og657hZFjBDAhUGzPoyn4=",
"lastModified": 1741838297,
"narHash": "sha256-0etyrY6jOzFwVILODzMc43MTtUanxzFSaqe3kVLvew4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5a141918f8b3ea128746881b6c099a6df569a51e",
"rev": "80b53fdb4f883238807ced86db41be809d60f3b5",
"type": "github"
},
"original": {
@ -126,11 +126,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1734126203,
"narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=",
"lastModified": 1741865919,
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "71a6392e367b08525ee710a93af2e80083b5b3e2",
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
"type": "github"
},
"original": {

View file

@ -19,36 +19,65 @@
};
};
outputs =
{ self, nix-darwin, nixpkgs, nixpkgs-unstable, home-manager, agenix, ... }:
let
system = "aarch64-darwin";
outputs = { self, nix-darwin, nixpkgs, nixpkgs-unstable, home-manager, agenix
, ... }: {
homeConfigurations = {
"millironx@corianne" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
system = "aarch64-darwin";
config.allowUnfree = true;
};
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
in {
homeConfigurations."millironx" =
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [ ./home.nix agenix.homeManagerModules.default ];
modules = [
./homes/common.nix
./homes/darwin.nix
./homes/desktop.nix
./homes/corianne.nix
agenix.homeManagerModules.default
];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
extraSpecialArgs = { inherit pkgs-unstable; };
extraSpecialArgs = {
pkgs-unstable = import nixpkgs-unstable {
system = "aarch64-darwin";
config.allowUnfree = true;
};
};
};
darwinConfigurations."corianne" = nix-darwin.lib.darwinSystem rec {
"millironx@anderson" = let
system = "x86_64-linux";
config = { allowUnfree = true; };
pkgs = import nixpkgs {
inherit system;
inherit config;
};
pkg-unstable = import nixpkgs-unstable {
inherit system;
inherit config;
};
in home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
./homes/common.nix
./homes/linux.nix
./homes/anderson.nix
agenix.homeManagerModules.default
];
extraSpecialArgs = { inherit pkg-unstable; };
};
};
darwinConfigurations."corianne" = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = {
pkgs-unstable = import nixpkgs-unstable { inherit system; };
pkgs-unstable = import nixpkgs-unstable {
system = "aarch64-darwin";
config.allowUnfree = true;
};
agenix = agenix;
};
modules = [ ./configuration.nix agenix.darwinModules.default ];

View file

@ -35,6 +35,7 @@
gnused
htop
jq
kdePackages.qtdeclarative
lsd
lynx
most
@ -49,8 +50,7 @@
shellcheck
sketchybar-app-font
sqlitebrowser
texlive.combined.scheme-full
pkgs-unstable.woodpecker-cli
woodpecker-cli
yt-dlp
zulu17
@ -61,6 +61,7 @@
(pkgs.nerdfonts.override {
fonts = [ "FiraCode" "Hack" "Meslo" "NerdFontsSymbolsOnly" ];
})
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
@ -68,10 +69,6 @@
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
(pkgs.writeShellScriptBin "nd" ''
mkdir "$1"
cd "$1"
'')
(pkgs.writeShellScriptBin "uq" ''
xattr -rdv com.apple.quarantine "/Applications/$1.app"
'')
@ -165,6 +162,9 @@
fi
# <<< conda initialize <<<
export PS1="[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\] \[\e[34m\]\W\[\e[m\]] \\$ "
function nd() {
mkdir -p "$1" && cd "$1"
}
'';
profileExtra = ''
if [ "$(arch)" = "i386" ]; then
@ -197,6 +197,38 @@
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; };
};
};
programs.gpg.enable = true;
@ -265,6 +297,10 @@
# <<< conda initialize <<<
#gpgconf --launch gpg-agent
source "$HOME/.cargo/env"
function nd() {
mkdir -p "$1" && cd "$1"
}
'';
profileExtra = ''
if [ "$(arch)" = "i386" ]; then

8
homes/anderson.nix Normal file
View file

@ -0,0 +1,8 @@
{ config, lib, pkgs, pkgs-unstable, ... }: {
home = {
username = "millironx";
homeDirectory = "/home/millironx";
};
programs = { };
services = { };
}

211
homes/common.nix Normal file
View file

@ -0,0 +1,211 @@
{ config, lib, pkgs, pkgs-unstable, ... }:
let
packages = import ./../pkgs.nix {
inherit pkgs;
inherit pkgs-unstable;
};
in {
home = {
stateVersion = "23.11";
file = {
".p10k.zsh".source = ./../dotfiles/p10k.zsh;
"./local/share/julia/config/startup.jl".source = ./../dotfiles/startup.jl;
};
packages = packages.common;
sessionVariables = {
PAGER = "most";
NXF_HOME = "\${XDG_DATA_HOME:-$HOME/.local/share}/nextflow";
NXF_CACHE = "\${XDW_CACHE_HOME:-$HOME/.cache}/nextflow";
NXF_CONDA_CACHEDIR = "$NXF_CACHE/conda";
NXF_SINGULARITY_CACHEDIR = "$NXF_CACHE/singularity";
JULIA_DEPOT_PATH = "\${XDG_DATA_HOME:-$HOME/.local/share}/julia:";
JULIA_PKG_USE_CLI_GIT = "true";
GPG_TTY = "$(tty)";
SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)";
};
shellAliases = {
cat = "bat";
please = "sudo $(fc -ln -1)";
grim = "git rebase -i --autosquash $(git_main_branch)";
grid = "git rebase -i --autosquash $(git_develop_branch)";
gpub =
"git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)";
};
sessionPath = [ "$HOME/.local/bin" ];
};
programs = {
home-manager = { enable = true; };
bash = {
enable = true;
initExtra = ''
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$($HOME/miniconda3/bin/conda shell.bash 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
. "$HOME/miniconda3/etc/profile.d/conda.sh"
else
export PATH="$HOME/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
if [ -f "$HOME/miniconda3/etc/profile.d/mamba.sh" ]; then
. "$HOME/miniconda3/etc/profile.d/mamba.sh"
fi
# <<< conda initialize <<<
export PS1="[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\] \[\e[34m\]\W\[\e[m\]] \\$ "
function nd() {
mkdir -p "$1" && cd "$1"
}
'';
profileExtra = ''
if [ "$(arch)" = "i386" ]; then
eval "$(/usr/local/bin/brew shellenv bash)"
else
eval "$(/opt/homebrew/bin/brew shellenv bash)"
fi
#gpgconf --launch gpg-agent
'';
};
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;
enableAliases = 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; };
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 = [
"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"
"romkatv/powerlevel10k"
];
};
initExtraFirst = ''
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
fi
'';
initExtra = ''
source ~/.p10k.zsh
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$($HOME/miniconda3/bin/conda shell.zsh 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
. "$HOME/miniconda3/etc/profile.d/conda.sh"
else
export PATH="$HOME/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
if [ -f "$HOME/miniconda3/etc/profile.d/mamba.sh" ]; then
. "$HOME/miniconda3/etc/profile.d/mamba.sh"
fi
# <<< conda initialize <<<
function nd() {
mkdir -p "$1" && cd "$1"
}
'';
profileExtra = ''
if [ "$(arch)" = "i386" ]; then
eval "$(/usr/local/bin/brew shellenv zsh)"
else
eval "$(/opt/homebrew/bin/brew shellenv zsh)"
fi
'';
};
};
}

18
homes/corianne.nix Normal file
View file

@ -0,0 +1,18 @@
{ config, lib, pkgs, pkgs-unstable, ... }: {
home = {
username = "millironx";
homeDirectory = "/Users/millironx";
};
programs = {
git = {
signing = {
key = "0x19A2EF3A3C0C18A9!";
signByDefault = true;
};
};
};
services = {
gpg-agent = { sshKeys = [ "CC3F27D613DCC2248B56A881FDDACEF6EA090E37" ]; };
};
}

34
homes/darwin.nix Normal file
View file

@ -0,0 +1,34 @@
{ config, lib, pkgs, pkgs-unstable, ... }:
let
packages = import ./../pkgs.nix {
inherit pkgs;
inherit pkgs-unstable;
};
in {
home = {
packages = packages.darwin;
sessionVariables = { JULIA_NUM_THREADS = "$(sysctl -n hw.logicalcpu)"; };
shellAliases = { nproc = "sysctl -n hw.logicalcpu"; };
};
programs = {
bash = {
profileExtra = ''
if [ "$(arch)" = "i386" ]; then
eval "$(/usr/local/bin/brew shellenv bash)"
else
eval "$(/opt/homebrew/bin/brew shellenv bash)"
fi
'';
};
zsh = {
profileExtra = ''
if [ "$(arch)" = "i386" ]; then
eval "$(/usr/local/bin/brew shellenv zsh)"
else
eval "$(/opt/homebrew/bin/brew shellenv zsh)"
fi
'';
};
};
services = { gpg-agent = { pinentryPackage = pkgs.pinentry_mac; }; };
}

24
homes/desktop.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, lib, pkgs, pkgs-unstable, ... }:
let
packages = import ./../pkgs.nix {
inherit pkgs;
inherit pkgs-unstable;
};
in {
home = {
packages = packages.desktop;
shellAliases = { code = "codium"; };
};
services = {
gpg-agent = {
enable = true;
enableBashIntegration = true;
enableSshSupport = true;
enableZshIntegration = true;
defaultCacheTtl = 60;
maxCacheTtl = 120;
verbose = true;
};
syncthing = { enable = true; };
};
}

31
homes/linux.nix Normal file
View file

@ -0,0 +1,31 @@
{ config, lib, pkgs, pkgs-unstable, ... }:
let
packages = import ./../pkgs.nix {
inherit pkgs;
inherit pkgs-unstable;
};
in {
fonts = { fontconfig = { enable = true; }; };
home = {
file = {
"${config.xdg.configHome}/konsolerc".source = ./../dotfiles/konsolerc;
"${config.xdg.configHome}/yakuakerc".source = ./../dotfiles/yakuakerc;
"${config.xdg.dataHome}/konsole/My Default.profile".source =
./../dotfiles/MyDefault.profile;
"${config.xdg.dataHome}/kio/servicemenus/kate.desktop".source =
./../dotfiles/kate.desktop;
"${config.xdg.dataHome}/kio/servicemenus/vlc.desktop".source =
./../dotfiles/vlc.desktop;
"${config.xdg.dataHome}/kio/servicemenus/word-to-pdf.desktop".source =
./../dotfiles/word-to-pdf.desktop;
"${config.xdg.dataHome}/kio/servicemenus/powerpoint-to-pdf.desktop".source =
./../dotfiles/powerpoint-to-pdf.desktop;
};
packages = packages.linux;
shellAliases = {
nrun = ''
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus="NVIDIA_only"'';
};
};
targets = { genericLinux = { enable = true; }; };
}

50
pkgs.nix Normal file
View file

@ -0,0 +1,50 @@
{ pkgs, pkgs-unstable, ... }: {
common = with pkgs; [
act
cowsay
earthly
ffmpeg
figlet
fortune
gitflow
git-absorb
gnugrep
gnused
htop
jq
julia-bin
lynx
most
nil
nixd
nixfmt-classic
pipx
python3
quarto
shellcheck
zulu17
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
];
darwin = with pkgs; [
asitop
pinentry_mac
(pkgs.writeShellScriptBin "uq" ''
xattr -rdv com.apple.quarantine "/Applications/$1.app"
'')
(pkgs.writeShellScriptBin "get-current-wifi" ''
ipconfig getsummary $(networksetup -listallhardwareports | awk '/Hardware Port: Wi-Fi/{getline; print $2}') | awk -F ' SSID : ' '/ SSID : / {print $2}'
'')
];
desktop = with pkgs; [
kdePackages.qtdeclarative
sqlitebrowser
woodpecker-cli
(pkgs.nerdfonts.override {
fonts = [ "FiraCode" "Hack" "Meslo" "NerdFontsSymbolsOnly" ];
})
];
linux = with pkgs; [ ];
}