major refactor
This commit is contained in:
parent
20472f8d1b
commit
d778875a1b
32 changed files with 495 additions and 428 deletions
143
mod/desktop/software/default.nix
Normal file
143
mod/desktop/software/default.nix
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.hd.desktop.software;
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
in
|
||||
{
|
||||
imports = [ ./development.nix ];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hd.desktop.software.development.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
bitwarden-desktop
|
||||
calibre
|
||||
file
|
||||
fuzzel
|
||||
gh
|
||||
nil
|
||||
pciutils
|
||||
signal-desktop
|
||||
spotify-player
|
||||
tor-browser
|
||||
usbutils
|
||||
vlc
|
||||
wireguard-tools
|
||||
wl-clipboard
|
||||
yt-dlp
|
||||
zotero
|
||||
zulip
|
||||
];
|
||||
|
||||
virtualisation = {
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs.kdeconnect.enable = true;
|
||||
|
||||
home = {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set -U fish_greeting
|
||||
starship init fish | source
|
||||
'';
|
||||
};
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
settings = {
|
||||
format = "[$username](green)@[$hostname](red)[\\[$directory\\]](cyan bold) $all";
|
||||
username = {
|
||||
show_always = true;
|
||||
format = "$user";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
format = "$hostname";
|
||||
};
|
||||
directory.format = "$path";
|
||||
character = {
|
||||
format = "$symbol ";
|
||||
success_symbol = "\\\$";
|
||||
error_symbol = "[\\\$](red)";
|
||||
};
|
||||
git_branch.format = "[$symbol$branch(:$remote_branch)]($style)";
|
||||
};
|
||||
};
|
||||
programs.librewolf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"identity.fxaccounts.enabled" = true;
|
||||
"identity.sync.tokenserver.uri" = "https://firefox-syncserver.roam.hdohmen.de/1.0/sync/1.5";
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"signon.rememberSignons" = false;
|
||||
"signon.autofillForms" = false;
|
||||
"privacy.spoof_english" = 2;
|
||||
"privacy.resistFingerprinting.block_mozAddonManager" = true;
|
||||
"network.http.sendRefererHeader" = 1;
|
||||
"intl.accept_languages" = "en,en-us";
|
||||
"privacy.resistFingerprinting.letterboxing" = true;
|
||||
};
|
||||
};
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
package = pkgs.thunderbird-latest;
|
||||
profiles.default = {
|
||||
isDefault = true;
|
||||
withExternalGnupg = true;
|
||||
settings = {
|
||||
"intl.date_time.pattern_override.date_short" = "yyyy-MM-dd";
|
||||
"mail.html_compose" = false;
|
||||
"mail.identity.default.compose_html" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.git = {
|
||||
enable = true;
|
||||
signing = {
|
||||
signByDefault = true;
|
||||
signer = "openpgp";
|
||||
key = "AB79213B044674AE";
|
||||
};
|
||||
settings = {
|
||||
user.name = "Henri Dohmen";
|
||||
user.email = "henridohmen@posteo.com";
|
||||
color.ui = "auto";
|
||||
column.ui = "auto";
|
||||
branch.sort = "-committerdate";
|
||||
alias = {
|
||||
staash = "stash --all";
|
||||
};
|
||||
core = {
|
||||
editor = "nvim";
|
||||
autocrlf = "input";
|
||||
};
|
||||
init.defaultBranch = "main";
|
||||
credential.helper = "libsecret";
|
||||
};
|
||||
};
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
"font" = "monospace:size=11";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Some excludes
|
||||
services.xserver.excludePackages = [ pkgs.xterm ];
|
||||
};
|
||||
}
|
||||
112
mod/desktop/software/development.nix
Normal file
112
mod/desktop/software/development.nix
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.hd.desktop.software.development;
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
in
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
documentation.dev.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(agda.withPackages (p: [ p.standard-library ]))
|
||||
binutils
|
||||
clang
|
||||
elan
|
||||
gcc
|
||||
gdb
|
||||
gnumake
|
||||
man-pages
|
||||
man-pages-posix
|
||||
nixfmt-rfc-style
|
||||
python313
|
||||
python313Packages.mypy
|
||||
rustup
|
||||
# jetbrains.gateway
|
||||
# jetbrains.rust-rover
|
||||
];
|
||||
|
||||
home = {
|
||||
xdg.configFile = {
|
||||
"agda/libraries".text = ''
|
||||
${pkgs.agdaPackages.standard-library}/standard-library.agda-lib
|
||||
'';
|
||||
};
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraPackages =
|
||||
epkgs: with epkgs; [
|
||||
ace-window
|
||||
agda2-mode
|
||||
better-defaults
|
||||
cmake-mode
|
||||
company
|
||||
consult
|
||||
delight
|
||||
doom-themes
|
||||
editorconfig
|
||||
exec-path-from-shell
|
||||
fish-mode
|
||||
haskell-mode
|
||||
hl-todo
|
||||
lsp-mode
|
||||
magit
|
||||
marginalia
|
||||
markdown-mode
|
||||
multiple-cursors
|
||||
orderless
|
||||
proof-general
|
||||
pyvenv
|
||||
rainbow-delimiters
|
||||
restart-emacs
|
||||
rust-mode
|
||||
undo-tree
|
||||
use-package
|
||||
vertico
|
||||
which-key
|
||||
yaml-mode
|
||||
];
|
||||
extraConfig = builtins.readFile ../../../dotfiles/emacs/init.el;
|
||||
};
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
mutableExtensionsDir = true;
|
||||
profiles.default = {
|
||||
enableExtensionUpdateCheck = true;
|
||||
enableUpdateCheck = false;
|
||||
extensions = with pkgs.vscode-marketplace; [
|
||||
banacorn.agda-mode
|
||||
dnut.rewrap-revived
|
||||
editorconfig.editorconfig
|
||||
james-yu.latex-workshop
|
||||
jnoortheen.nix-ide
|
||||
leanprover.lean4
|
||||
ltex-plus.vscode-ltex-plus
|
||||
maximedenes.vscoq
|
||||
mkhl.direnv
|
||||
ms-python.python
|
||||
ms-toolsai.jupyter
|
||||
ocamllabs.ocaml-platform
|
||||
rust-lang.rust-analyzer
|
||||
# ms-vscode-remote.remote-ssh
|
||||
];
|
||||
userSettings = {
|
||||
"editor.rulers" = [ 80 ];
|
||||
"editor.formatOnPaste" = false;
|
||||
"editor.formatOnSave" = false;
|
||||
"editor.formatOnType" = false;
|
||||
# https://github.com/nix-community/nix-vscode-extensions/issues/123
|
||||
"ltex.ltex-ls.path" = "${pkgs.ltex-ls-plus}";
|
||||
"direnv.path.executable" = "${pkgs.direnv}/bin/direnv";
|
||||
"latex-workshop.latex.autoBuild.run" = "never";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue