This commit is contained in:
xunuwu 2024-10-22 11:51:40 +02:00
parent e77d8b492d
commit 7f7d9af446
No known key found for this signature in database
7 changed files with 75 additions and 16 deletions

View file

@ -7,25 +7,30 @@
cfg = config.xun.develop;
in {
options.xun.develop = let
enableOption = name: default: lib.mkEnableOption name // {inherit default;};
enableOption = default:
lib.mkOption {
inherit default;
type = lib.types.bool;
};
in {
enable = enableOption "develop" false;
git.enable = enableOption "git" true;
nix.enable = enableOption "nix" true;
tools.enable = enableOption "tools" true;
docs.enable = enableOption "man caches" false;
devenv.enable = enableOption "devenv" true;
enable = enableOption false;
git.enable = enableOption true;
nix.enable = enableOption true;
tools.enable = enableOption true;
docs.enable = enableOption false;
devenv.enable = enableOption true;
lang = {
c.enable = enableOption "clangd" false;
csharp.enable = enableOption "csharp" false;
zig.enable = enableOption "zig" false;
c.enable = enableOption false;
csharp.enable = enableOption false;
shell.enable = enableOption false;
zig.enable = enableOption false;
};
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
(lib.mkIf cfg.nix.enable {
home.packages = with pkgs; [nil nixd alejandra];
home.packages = with pkgs; [nil nixd alejandra nixfmt-rfc-style];
})
(lib.mkIf cfg.tools.enable {
home.packages = with pkgs; [tokei];
@ -68,6 +73,12 @@ in {
home.packages = with pkgs; [
csharpier
omnisharp-roslyn
roslyn-ls
];
})
(lib.mkIf cfg.lang.shell.enable {
home.packages = with pkgs; [
shellcheck
];
})
(lib.mkIf cfg.lang.zig.enable {

View file

@ -1,7 +1,11 @@
{pkgs, ...}: {
programs.emacs = {
enable = true;
package = pkgs.emacs29-pgtk; # uses xwayland, use pgtk for native wayland or pkgs.emacs if using daemon
extraPackages = e: [e.vterm];
package = pkgs.emacs29-pgtk;
extraPackages = e: [
e.vterm
pkgs.texlive.combined.scheme-medium
pkgs.sqlite
];
};
}

View file

@ -6,6 +6,7 @@
imports = [
self.homeManagerModules.xun
inputs.small-nvim.homeManagerModules.small-nvim
../../editors/emacs.nix
# ../../terminal/shell/zsh.nix
# ../../terminal/programs
# ../../terminal/programs/lazygit.nix
@ -22,7 +23,12 @@
};
wakatime.enable = false;
};
develop.enable = true;
develop = {
enable = true;
lang = {
csharp.enable = true;
};
};
desktop = {
xdg.enable = true;
};

View file

@ -166,6 +166,7 @@ in {
flake.nixosConfigurations = let
l = inputs.nixpkgs.lib;
in
## TODO: make use of nixpkgs.pkgs for per-system pkgs without colmena
builtins.mapAttrs (_: v:
l.nixosSystem {
inherit specialArgs;

View file

@ -2,6 +2,7 @@
imports = [
./wsl.nix
./hardware.nix
./fonts.nix
];
networking.hostName = "kidney";

33
hosts/kidney/fonts.nix Normal file
View file

@ -0,0 +1,33 @@
{pkgs, ...}: {
fonts = {
packages = with pkgs; [
font-awesome
iosevka
emacs-all-the-icons-fonts
(stdenv.mkDerivation {
# font piracy? i would never
pname = "Cartograph-CF";
version = "0.1";
src = pkgs.fetchFromGitHub {
owner = "xiyaowong";
repo = "Cartograph-CF";
rev = "619de85c103dbd5c150e1d5df039357f8ac2ed52";
hash = "sha256-NVqHxLQZnHb0lMjODkaDwSoglGPkUVJHL1xTmASoER4=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts
cp -r $src $out/share/fonts
runHook postInstall
'';
})
];
enableDefaultPackages = false;
fontconfig.defaultFonts = {
monospace = ["Iosevka"];
};
};
}

View file

@ -3,6 +3,9 @@
inputs.nixos-wsl.nixosModules.default
];
wsl.enable = true;
wsl.defaultUser = "xun";
wsl = {
enable = true;
defaultUser = "xun";
startMenuLaunchers = true;
};
}