66 lines
2.6 KiB
Nix
66 lines
2.6 KiB
Nix
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
{ lib, config, pkgs, flakeRoot, ... }:
|
|
let
|
|
username = config.defaultUser or "henrov";
|
|
sysName = "zed";
|
|
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
|
in
|
|
{
|
|
environment.systemPackages = [ pkgs.zed-editor
|
|
pkgs.nil
|
|
pkgs.basedpyright
|
|
pkgs.ruff
|
|
pkgs.black
|
|
pkgs.rustc
|
|
pkgs.cargo
|
|
pkgs.rust-analyzer
|
|
pkgs.rustfmt
|
|
pkgs.gopls
|
|
pkgs.go
|
|
pkgs.vscode-langservers-extracted
|
|
pkgs.yaml-language-server
|
|
pkgs.prettier
|
|
pkgs.sqls
|
|
pkgs.sqlite
|
|
pkgs.psql
|
|
pkgs.pandoc
|
|
];
|
|
|
|
environment.sessionVariables = {
|
|
EDITOR = "zeditor";
|
|
VISUAL = "zeditor";
|
|
};
|
|
|
|
xdg.mime.defaultApplications = {
|
|
"text/plain" = "dev.zed.Zed.desktop";
|
|
"text/x-lua" = "dev.zed.Zed.desktop";
|
|
"text/x-sql" = "dev.zed.Zed.desktop";
|
|
"text/x-org" = "dev.zed.Zed.desktop";
|
|
"text/x-script.python" = "dev.zed.Zed.desktop";
|
|
"text/x-shellscript" = "dev.zed.Zed.desktop";
|
|
"text/x-csrc" = "dev.zed.Zed.desktop";
|
|
"text/x-chdr" = "dev.zed.Zed.desktop";
|
|
"text/x-rust" = "dev.zed.Zed.desktop";
|
|
"text/x-toml" = "dev.zed.Zed.desktop";
|
|
"text/x-yaml" = "dev.zed.Zed.desktop";
|
|
"text/x-json" = "dev.zed.Zed.desktop";
|
|
"application/json" = "dev.zed.Zed.desktop";
|
|
"text/markdown" = "dev.zed.Zed.desktop";
|
|
"text/x-nix" = "dev.zed.Zed.desktop";
|
|
};
|
|
|
|
home-manager.users.${username} = {
|
|
home.activation.MakeZedMutable = {
|
|
after = [ "writeBoundary" ];
|
|
before = [];
|
|
data = ''
|
|
rm -rf $HOME/.config/${sysName}
|
|
mkdir -p $HOME/.config/${sysName}
|
|
cp -r ${assetPath}/* $HOME/.config/${sysName}/
|
|
chmod -R u+w $HOME/.config/${sysName}/
|
|
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
|
'';
|
|
};
|
|
};
|
|
}
|