things
This commit is contained in:
parent
e77d8b492d
commit
7f7d9af446
7 changed files with 75 additions and 16 deletions
|
@ -7,25 +7,30 @@
|
||||||
cfg = config.xun.develop;
|
cfg = config.xun.develop;
|
||||||
in {
|
in {
|
||||||
options.xun.develop = let
|
options.xun.develop = let
|
||||||
enableOption = name: default: lib.mkEnableOption name // {inherit default;};
|
enableOption = default:
|
||||||
|
lib.mkOption {
|
||||||
|
inherit default;
|
||||||
|
type = lib.types.bool;
|
||||||
|
};
|
||||||
in {
|
in {
|
||||||
enable = enableOption "develop" false;
|
enable = enableOption false;
|
||||||
git.enable = enableOption "git" true;
|
git.enable = enableOption true;
|
||||||
nix.enable = enableOption "nix" true;
|
nix.enable = enableOption true;
|
||||||
tools.enable = enableOption "tools" true;
|
tools.enable = enableOption true;
|
||||||
docs.enable = enableOption "man caches" false;
|
docs.enable = enableOption false;
|
||||||
devenv.enable = enableOption "devenv" true;
|
devenv.enable = enableOption true;
|
||||||
lang = {
|
lang = {
|
||||||
c.enable = enableOption "clangd" false;
|
c.enable = enableOption false;
|
||||||
csharp.enable = enableOption "csharp" false;
|
csharp.enable = enableOption false;
|
||||||
zig.enable = enableOption "zig" false;
|
shell.enable = enableOption false;
|
||||||
|
zig.enable = enableOption false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (
|
config = lib.mkIf cfg.enable (
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
(lib.mkIf cfg.nix.enable {
|
(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 {
|
(lib.mkIf cfg.tools.enable {
|
||||||
home.packages = with pkgs; [tokei];
|
home.packages = with pkgs; [tokei];
|
||||||
|
@ -68,6 +73,12 @@ in {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
csharpier
|
csharpier
|
||||||
omnisharp-roslyn
|
omnisharp-roslyn
|
||||||
|
roslyn-ls
|
||||||
|
];
|
||||||
|
})
|
||||||
|
(lib.mkIf cfg.lang.shell.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
shellcheck
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
(lib.mkIf cfg.lang.zig.enable {
|
(lib.mkIf cfg.lang.zig.enable {
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.emacs29-pgtk; # uses xwayland, use pgtk for native wayland or pkgs.emacs if using daemon
|
package = pkgs.emacs29-pgtk;
|
||||||
extraPackages = e: [e.vterm];
|
extraPackages = e: [
|
||||||
|
e.vterm
|
||||||
|
pkgs.texlive.combined.scheme-medium
|
||||||
|
pkgs.sqlite
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.xun
|
self.homeManagerModules.xun
|
||||||
inputs.small-nvim.homeManagerModules.small-nvim
|
inputs.small-nvim.homeManagerModules.small-nvim
|
||||||
|
../../editors/emacs.nix
|
||||||
# ../../terminal/shell/zsh.nix
|
# ../../terminal/shell/zsh.nix
|
||||||
# ../../terminal/programs
|
# ../../terminal/programs
|
||||||
# ../../terminal/programs/lazygit.nix
|
# ../../terminal/programs/lazygit.nix
|
||||||
|
@ -22,7 +23,12 @@
|
||||||
};
|
};
|
||||||
wakatime.enable = false;
|
wakatime.enable = false;
|
||||||
};
|
};
|
||||||
develop.enable = true;
|
develop = {
|
||||||
|
enable = true;
|
||||||
|
lang = {
|
||||||
|
csharp.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
desktop = {
|
desktop = {
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -166,6 +166,7 @@ in {
|
||||||
flake.nixosConfigurations = let
|
flake.nixosConfigurations = let
|
||||||
l = inputs.nixpkgs.lib;
|
l = inputs.nixpkgs.lib;
|
||||||
in
|
in
|
||||||
|
## TODO: make use of nixpkgs.pkgs for per-system pkgs without colmena
|
||||||
builtins.mapAttrs (_: v:
|
builtins.mapAttrs (_: v:
|
||||||
l.nixosSystem {
|
l.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
./wsl.nix
|
./wsl.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
./fonts.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "kidney";
|
networking.hostName = "kidney";
|
||||||
|
|
33
hosts/kidney/fonts.nix
Normal file
33
hosts/kidney/fonts.nix
Normal 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"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,6 +3,9 @@
|
||||||
inputs.nixos-wsl.nixosModules.default
|
inputs.nixos-wsl.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
wsl.enable = true;
|
wsl = {
|
||||||
wsl.defaultUser = "xun";
|
enable = true;
|
||||||
|
defaultUser = "xun";
|
||||||
|
startMenuLaunchers = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue