switch to the rfc nixfmt version and reformatted repository
This commit is contained in:
parent
f4f53659bd
commit
c6a31bb751
22 changed files with 402 additions and 266 deletions
18
flake.nix
18
flake.nix
|
@ -24,7 +24,8 @@
|
||||||
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
|
||||||
catppuccin-vsc.url = "https://flakehub.com/f/catppuccin/vscode/*.tar.gz";
|
catppuccin-vsc.url = "https://flakehub.com/f/catppuccin/vscode/*.tar.gz";
|
||||||
};
|
};
|
||||||
outputs = { nixpkgs, home-manager, ... }@inputs:
|
outputs =
|
||||||
|
{ nixpkgs, home-manager, ... }@inputs:
|
||||||
let
|
let
|
||||||
user = "cswimr";
|
user = "cswimr";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -33,7 +34,8 @@
|
||||||
overlays = [ inputs.catppuccin-vsc.overlays.default ];
|
overlays = [ inputs.catppuccin-vsc.overlays.default ];
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
eclipse = nixpkgs.lib.nixosSystem {
|
eclipse = nixpkgs.lib.nixosSystem {
|
||||||
system = system;
|
system = system;
|
||||||
|
@ -76,8 +78,7 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
sharedModules =
|
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||||
[ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
|
||||||
backupFileExtension = "bak";
|
backupFileExtension = "bak";
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
|
@ -92,8 +93,7 @@
|
||||||
./home-manager/user.nix
|
./home-manager/user.nix
|
||||||
./home-manager/vscode.nix
|
./home-manager/vscode.nix
|
||||||
{
|
{
|
||||||
programs.git.extraConfig.user.signingkey =
|
programs.git.extraConfig.user.signingkey = "0EC431A8DA8F8087";
|
||||||
"0EC431A8DA8F8087";
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -141,8 +141,7 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
sharedModules =
|
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||||
[ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
|
||||||
backupFileExtension = "bak";
|
backupFileExtension = "bak";
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
|
@ -157,8 +156,7 @@
|
||||||
./home-manager/user.nix
|
./home-manager/user.nix
|
||||||
./home-manager/vscode.nix
|
./home-manager/vscode.nix
|
||||||
{
|
{
|
||||||
programs.git.extraConfig.user.signingkey =
|
programs.git.extraConfig.user.signingkey = "082F226A1D8C0860";
|
||||||
"082F226A1D8C0860";
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,22 +1,21 @@
|
||||||
{ pkgs, config, user, ... }: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
home.username = user;
|
home.username = user;
|
||||||
home.homeDirectory = "/home/${user}";
|
home.homeDirectory = "/home/${user}";
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
".face.icon".source =
|
".face.icon".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/assets/img/clownfish.png";
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/assets/img/clownfish.png";
|
".config/fastfetch/config.jsonc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc";
|
||||||
".config/fastfetch/config.jsonc".source =
|
".psqlrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc";
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc";
|
".config/btop/btop.conf".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/btop.conf";
|
||||||
".psqlrc".source =
|
".config/btop/themes/catppuccin_mocha.theme".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/btop.theme";
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc";
|
".config/glow/glow.yml".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml";
|
||||||
".config/btop/btop.conf".source =
|
".config/glow/theme.json".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json";
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/btop.conf";
|
|
||||||
".config/btop/themes/catppuccin_mocha.theme".source =
|
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/btop.theme";
|
|
||||||
".config/glow/glow.yml".source =
|
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml";
|
|
||||||
".config/glow/theme.json".source =
|
|
||||||
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# link the configuration file in current directory to the specified location in home directory
|
# link the configuration file in current directory to the specified location in home directory
|
||||||
|
@ -49,19 +48,32 @@
|
||||||
userName = user;
|
userName = user;
|
||||||
userEmail = "seaswimmerthefsh@gmail.com";
|
userEmail = "seaswimmerthefsh@gmail.com";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
commit = { gpgsign = true; };
|
commit = {
|
||||||
|
gpgsign = true;
|
||||||
|
};
|
||||||
signing = {
|
signing = {
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
};
|
};
|
||||||
init = { defaultBranch = "master"; };
|
init = {
|
||||||
safe = { directory = "/etc/nixos"; };
|
defaultBranch = "master";
|
||||||
|
};
|
||||||
|
safe = {
|
||||||
|
directory = "/etc/nixos";
|
||||||
|
};
|
||||||
url = {
|
url = {
|
||||||
"git@coastalcommits.com:" = {
|
"git@coastalcommits.com:" = {
|
||||||
insteadOf =
|
insteadOf = [
|
||||||
[ "https://www.coastalcommits.com/" "cc:" "coastalcommits:" ];
|
"https://www.coastalcommits.com/"
|
||||||
|
"cc:"
|
||||||
|
"coastalcommits:"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
"git@github.com:" = {
|
"git@github.com:" = {
|
||||||
insteadOf = [ "https://github.com/" "gh:" "github:" ];
|
insteadOf = [
|
||||||
|
"https://github.com/"
|
||||||
|
"gh:"
|
||||||
|
"github:"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
hub.protocol = "ssh";
|
hub.protocol = "ssh";
|
||||||
|
|
|
@ -1,39 +1,64 @@
|
||||||
{ pkgs, config, system, inputs, ... }: rec {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
system,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
rec {
|
||||||
|
|
||||||
# Make VSCode config writable
|
# Make VSCode config writable
|
||||||
# https://github.com/nix-community/home-manager/issues/1800#issuecomment-2262881846
|
# https://github.com/nix-community/home-manager/issues/1800#issuecomment-2262881846
|
||||||
home.activation.makeVSCodeConfigWritable = let
|
home.activation.makeVSCodeConfigWritable =
|
||||||
configDirName = {
|
let
|
||||||
"vscode" = "Code";
|
configDirName =
|
||||||
"vscode-insiders" = "Code - Insiders";
|
{
|
||||||
"vscodium" = "VSCodium";
|
"vscode" = "Code";
|
||||||
}.${programs.vscode.package.pname};
|
"vscode-insiders" = "Code - Insiders";
|
||||||
configPath = "${config.xdg.configHome}/${configDirName}/User/settings.json";
|
"vscodium" = "VSCodium";
|
||||||
in {
|
}
|
||||||
after = [ "writeBoundary" ];
|
.${programs.vscode.package.pname};
|
||||||
before = [ ];
|
configPath = "${config.xdg.configHome}/${configDirName}/User/settings.json";
|
||||||
data = ''
|
in
|
||||||
install -m 0640 "$(readlink ${configPath})" ${configPath}
|
{
|
||||||
'';
|
after = [ "writeBoundary" ];
|
||||||
};
|
before = [ ];
|
||||||
|
data = ''
|
||||||
|
install -m 0640 "$(readlink ${configPath})" ${configPath}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode.fhsWithPackages
|
package = pkgs.vscode.fhsWithPackages (
|
||||||
(ps: with pkgs; [ dotnetCorePackages.sdk_8_0 jdk21 go ]);
|
ps: with pkgs; [
|
||||||
|
dotnetCorePackages.sdk_8_0
|
||||||
|
jdk21
|
||||||
|
go
|
||||||
|
]
|
||||||
|
);
|
||||||
extensions =
|
extensions =
|
||||||
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace;
|
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace;
|
||||||
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace-release; [
|
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace-release;
|
||||||
|
[
|
||||||
# Themes
|
# Themes
|
||||||
(pkgs.catppuccin-vsc.override {
|
(pkgs.catppuccin-vsc.override {
|
||||||
accent = "blue";
|
accent = "blue";
|
||||||
extraBordersEnabled = true;
|
extraBordersEnabled = true;
|
||||||
italicKeywords = false;
|
italicKeywords = false;
|
||||||
customUIColors = {
|
customUIColors = {
|
||||||
mocha = { "statusBar.foreground" = "accent"; };
|
mocha = {
|
||||||
macchiato = { "statusBar.foreground" = "accent"; };
|
"statusBar.foreground" = "accent";
|
||||||
frappe = { "statusBar.foreground" = "accent"; };
|
};
|
||||||
latte = { "statusBar.foreground" = "accent"; };
|
macchiato = {
|
||||||
|
"statusBar.foreground" = "accent";
|
||||||
|
};
|
||||||
|
frappe = {
|
||||||
|
"statusBar.foreground" = "accent";
|
||||||
|
};
|
||||||
|
latte = {
|
||||||
|
"statusBar.foreground" = "accent";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
catppuccin.catppuccin-vsc-icons
|
catppuccin.catppuccin-vsc-icons
|
||||||
|
@ -185,15 +210,21 @@
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"scope" = "variable.other.readwrite";
|
"scope" = "variable.other.readwrite";
|
||||||
"settings" = { "foreground" = "#82eaf0"; };
|
"settings" = {
|
||||||
|
"foreground" = "#82eaf0";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"scope" = "keyword.operator";
|
"scope" = "keyword.operator";
|
||||||
"settings" = { "foreground" = "#EBA0AC"; };
|
"settings" = {
|
||||||
|
"foreground" = "#EBA0AC";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"scope" = "meta.block.paradox";
|
"scope" = "meta.block.paradox";
|
||||||
"settings" = { "foreground" = "#EBA0AC"; };
|
"settings" = {
|
||||||
|
"foreground" = "#EBA0AC";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"scope" = "meta.shebang.shell";
|
"scope" = "meta.shebang.shell";
|
||||||
|
@ -210,13 +241,16 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"scope" =
|
"scope" = "string.quoted.double.shell variable.other.normal.shell";
|
||||||
"string.quoted.double.shell variable.other.normal.shell";
|
"settings" = {
|
||||||
"settings" = { "foreground" = "#82e5f0"; };
|
"foreground" = "#82e5f0";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
"scope" = "variable.other.property.ts";
|
"scope" = "variable.other.property.ts";
|
||||||
"settings" = { "foreground" = "#32d5e7"; };
|
"settings" = {
|
||||||
|
"foreground" = "#32d5e7";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -245,7 +279,9 @@
|
||||||
"editor.formatOnSaveMode" = "file";
|
"editor.formatOnSaveMode" = "file";
|
||||||
"files.autoSave" = "onFocusChange";
|
"files.autoSave" = "onFocusChange";
|
||||||
};
|
};
|
||||||
"[markdown]" = { "files.trimTrailingWhitespace" = false; };
|
"[markdown]" = {
|
||||||
|
"files.trimTrailingWhitespace" = false;
|
||||||
|
};
|
||||||
"yaml.schemas" = {
|
"yaml.schemas" = {
|
||||||
"https://json.schemastore.org/github-workflow.json" = [
|
"https://json.schemastore.org/github-workflow.json" = [
|
||||||
".github/workflows/*.{yml,yaml}"
|
".github/workflows/*.{yml,yaml}"
|
||||||
|
@ -256,29 +292,23 @@
|
||||||
"yaml.schemaStore.enable" = true;
|
"yaml.schemaStore.enable" = true;
|
||||||
"nix.enableLanguageServer" = true;
|
"nix.enableLanguageServer" = true;
|
||||||
"nix.serverSettings" = {
|
"nix.serverSettings" = {
|
||||||
"nil" = { "formatting" = { "command" = [ "nixfmt" ]; }; };
|
"nil" = {
|
||||||
|
"formatting" = {
|
||||||
|
"command" = [ "nixfmt" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"nix.serverPath" = "nil";
|
"nix.serverPath" = "nil";
|
||||||
"vscord.status.image.large.debugging.key" =
|
"vscord.status.image.large.debugging.key" = "https://vscord.catppuccin.com/mocha/debugging.webp";
|
||||||
"https://vscord.catppuccin.com/mocha/debugging.webp";
|
"vscord.status.image.large.editing.key" = "https://vscord.catppuccin.com/mocha/{lang}.webp";
|
||||||
"vscord.status.image.large.editing.key" =
|
"vscord.status.image.large.idle.key" = "https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
|
||||||
"https://vscord.catppuccin.com/mocha/{lang}.webp";
|
"vscord.status.image.large.notInFile.key" = "https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
|
||||||
"vscord.status.image.large.idle.key" =
|
"vscord.status.image.large.viewing.key" = "https://vscord.catppuccin.com/mocha/{lang}.webp";
|
||||||
"https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
|
"vscord.status.image.small.debugging.key" = "https://vscord.catppuccin.com/mocha/debugging.webp";
|
||||||
"vscord.status.image.large.notInFile.key" =
|
"vscord.status.image.small.editing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
|
||||||
"https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
|
"vscord.status.image.small.idle.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
|
||||||
"vscord.status.image.large.viewing.key" =
|
"vscord.status.image.small.notInFile.key" = "https://vscord.catppuccin.com/mocha/idle.webp";
|
||||||
"https://vscord.catppuccin.com/mocha/{lang}.webp";
|
"vscord.status.image.small.viewing.key" = "https://vscord.catppuccin.com/mocha/{app_id}.webp";
|
||||||
"vscord.status.image.small.debugging.key" =
|
|
||||||
"https://vscord.catppuccin.com/mocha/debugging.webp";
|
|
||||||
"vscord.status.image.small.editing.key" =
|
|
||||||
"https://vscord.catppuccin.com/mocha/{app_id}.webp";
|
|
||||||
"vscord.status.image.small.idle.key" =
|
|
||||||
"https://vscord.catppuccin.com/mocha/idle.webp";
|
|
||||||
"vscord.status.image.small.notInFile.key" =
|
|
||||||
"https://vscord.catppuccin.com/mocha/idle.webp";
|
|
||||||
"vscord.status.image.small.viewing.key" =
|
|
||||||
"https://vscord.catppuccin.com/mocha/{app_id}.webp";
|
|
||||||
"git.enableSmartCommit" = true;
|
"git.enableSmartCommit" = true;
|
||||||
"git.autofetch" = true;
|
"git.autofetch" = true;
|
||||||
"git.confirmSync" = false;
|
"git.confirmSync" = false;
|
||||||
|
@ -292,20 +322,21 @@
|
||||||
"editor.accessibilitySupport" = "off";
|
"editor.accessibilitySupport" = "off";
|
||||||
"git.inputValidationSubjectLength" = null;
|
"git.inputValidationSubjectLength" = null;
|
||||||
"git.inputValidationLength" = 150;
|
"git.inputValidationLength" = 150;
|
||||||
"editor.fontLigatures" =
|
"editor.fontLigatures" = "'cv01', 'cv02', 'ss05', 'ss08', 'ss03', 'cv29', 'cv30', 'cv11'";
|
||||||
"'cv01', 'cv02', 'ss05', 'ss08', 'ss03', 'cv29', 'cv30', 'cv11'";
|
|
||||||
"workbench.iconTheme" = "catppuccin-latte";
|
"workbench.iconTheme" = "catppuccin-latte";
|
||||||
"catppuccin.syncWithIconPack" = false;
|
"catppuccin.syncWithIconPack" = false;
|
||||||
"codesnap.shutterAction" = "copy";
|
"codesnap.shutterAction" = "copy";
|
||||||
"codesnap.transparentBackground" = true;
|
"codesnap.transparentBackground" = true;
|
||||||
"codesnap.realLineNumbers" = true;
|
"codesnap.realLineNumbers" = true;
|
||||||
"codesnap.roundedCorners" = true;
|
"codesnap.roundedCorners" = true;
|
||||||
"codesnap.showWindowTitle" = true;
|
"codesnap.showWindowTitle" = true;
|
||||||
"codesnap.showWindowControls" = false;
|
"codesnap.showWindowControls" = false;
|
||||||
"gitlens.remotes" = [{
|
"gitlens.remotes" = [
|
||||||
"domain" = "www.coastalcommits.com";
|
{
|
||||||
"type" = "Gitea";
|
"domain" = "www.coastalcommits.com";
|
||||||
}];
|
"type" = "Gitea";
|
||||||
|
}
|
||||||
|
];
|
||||||
"markdownlint.config" = {
|
"markdownlint.config" = {
|
||||||
"ol-prefix" = false;
|
"ol-prefix" = false;
|
||||||
"html" = false;
|
"html" = false;
|
||||||
|
@ -326,26 +357,27 @@
|
||||||
"**/xonsh/*.py" = "xonsh";
|
"**/xonsh/*.py" = "xonsh";
|
||||||
};
|
};
|
||||||
"editor.semanticHighlighting.enabled" = true;
|
"editor.semanticHighlighting.enabled" = true;
|
||||||
"[css]" = { "editor.defaultFormatter" = "vscode.css-language-features"; };
|
"[css]" = {
|
||||||
|
"editor.defaultFormatter" = "vscode.css-language-features";
|
||||||
|
};
|
||||||
"git.ignoreRebaseWarning" = true;
|
"git.ignoreRebaseWarning" = true;
|
||||||
"remote.autoForwardPortsSource" = "hybrid";
|
"remote.autoForwardPortsSource" = "hybrid";
|
||||||
"git.replaceTagsWhenPull" = true;
|
"git.replaceTagsWhenPull" = true;
|
||||||
"redhat.telemetry.enabled" = true;
|
"redhat.telemetry.enabled" = true;
|
||||||
"editor.fontSize" = 14;
|
"editor.fontSize" = 14;
|
||||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||||
"editor.codeLensFontFamily" =
|
"editor.codeLensFontFamily" = "'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
||||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
"editor.inlayHints.fontFamily" = "'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font', 'FiraCode Nerd Font Light'";
|
||||||
"editor.inlayHints.fontFamily" =
|
"editor.fontFamily" = "'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
||||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font', 'FiraCode Nerd Font Light'";
|
|
||||||
"editor.fontFamily" =
|
|
||||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
|
||||||
"explorer.confirmDelete" = false;
|
"explorer.confirmDelete" = false;
|
||||||
"window.confirmSaveUntitledWorkspace" = false;
|
"window.confirmSaveUntitledWorkspace" = false;
|
||||||
"cwtools.cache.stellaris" = "/bulk/steam/steamapps/common/Stellaris";
|
"cwtools.cache.stellaris" = "/bulk/steam/steamapps/common/Stellaris";
|
||||||
"python.analysis.inlayHints.callArgumentNames" = "partial";
|
"python.analysis.inlayHints.callArgumentNames" = "partial";
|
||||||
"python.analysis.inlayHints.functionReturnTypes" = true;
|
"python.analysis.inlayHints.functionReturnTypes" = true;
|
||||||
"explorer.confirmDragAndDrop" = false;
|
"explorer.confirmDragAndDrop" = false;
|
||||||
"editor.unicodeHighlight.allowedLocales" = { ru = true; };
|
"editor.unicodeHighlight.allowedLocales" = {
|
||||||
|
ru = true;
|
||||||
|
};
|
||||||
"terminal.integrated.defaultProfile.linux" = "xonsh";
|
"terminal.integrated.defaultProfile.linux" = "xonsh";
|
||||||
"explorer.confirmPasteNative" = false;
|
"explorer.confirmPasteNative" = false;
|
||||||
"editor.renderWhitespace" = "none";
|
"editor.renderWhitespace" = "none";
|
||||||
|
@ -355,8 +387,7 @@
|
||||||
"*.jsx" = "\${capture}.js";
|
"*.jsx" = "\${capture}.js";
|
||||||
"*.tsx" = "\${capture}.ts";
|
"*.tsx" = "\${capture}.ts";
|
||||||
"tsconfig.json" = "tsconfig.*.json";
|
"tsconfig.json" = "tsconfig.*.json";
|
||||||
"package.json" =
|
"package.json" = "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb";
|
||||||
"package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb";
|
|
||||||
"Cargo.toml" = "Cargo.lock";
|
"Cargo.toml" = "Cargo.lock";
|
||||||
"*.sqlite" = "\${capture}.\${extname}-*";
|
"*.sqlite" = "\${capture}.\${extname}-*";
|
||||||
"*.db" = "\${capture}.\${extname}-*";
|
"*.db" = "\${capture}.\${extname}-*";
|
||||||
|
@ -369,7 +400,9 @@
|
||||||
"editor.defaultFormatter" = "shakram02.bash-beautify";
|
"editor.defaultFormatter" = "shakram02.bash-beautify";
|
||||||
};
|
};
|
||||||
"vscord.app.name" = "Visual Studio Code";
|
"vscord.app.name" = "Visual Studio Code";
|
||||||
"workbench.editorAssociations" = { "*.db" = "sqlite3-editor.editor"; };
|
"workbench.editorAssociations" = {
|
||||||
|
"*.db" = "sqlite3-editor.editor";
|
||||||
|
};
|
||||||
"vs-code-prettier-eslint.prettierLast" = false;
|
"vs-code-prettier-eslint.prettierLast" = false;
|
||||||
"typescript.updateImportsOnFileMove.enabled" = "always";
|
"typescript.updateImportsOnFileMove.enabled" = "always";
|
||||||
"supermaven.allowGitignore" = true;
|
"supermaven.allowGitignore" = true;
|
||||||
|
@ -380,11 +413,14 @@
|
||||||
"editor.defaultFormatter" = "vscode.json-language-features";
|
"editor.defaultFormatter" = "vscode.json-language-features";
|
||||||
};
|
};
|
||||||
"go.toolsManagement.autoUpdate" = true;
|
"go.toolsManagement.autoUpdate" = true;
|
||||||
"remote.SSH.remotePlatform" = { "eclipse" = "linux"; };
|
"remote.SSH.remotePlatform" = {
|
||||||
|
"eclipse" = "linux";
|
||||||
|
};
|
||||||
"terminal.integrated.fontWeightBold" = "bold";
|
"terminal.integrated.fontWeightBold" = "bold";
|
||||||
"terminal.integrated.fontFamily" =
|
"terminal.integrated.fontFamily" = "'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
||||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
"[jsonc]" = {
|
||||||
"[jsonc]" = { "editor.defaultFormatter" = "esbenp.prettier-vscode"; };
|
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +1,54 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" "sr_mod" "rtsx_usb_sdmmc" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
"rtsx_usb_sdmmc"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/f65ec459-c974-4032-8224-fa78c57527c2";
|
device = "/dev/disk/by-uuid/f65ec459-c974-4032-8224-fa78c57527c2";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/484E-279A";
|
device = "/dev/disk/by-uuid/484E-279A";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [
|
||||||
};
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
fileSystems."/bulk" =
|
|
||||||
{ device = "/dev/disk/by-uuid/3b8e0789-def6-45dd-8eff-7b55b74569ce";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/4eab8c8f-85c5-4a04-a03c-e111ada06ec0"; }
|
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/bulk" = {
|
||||||
|
device = "/dev/disk/by-uuid/3b8e0789-def6-45dd-8eff-7b55b74569ce";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/4eab8c8f-85c5-4a04-a03c-e111ada06ec0"; }
|
||||||
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|
|
@ -1,22 +1,33 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/658d4465-7bac-4e12-ad92-00fef8abcfe3";
|
device = "/dev/disk/by-uuid/658d4465-7bac-4e12-ad92-00fef8abcfe3";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
let
|
let
|
||||||
gnomeExtensions = with pkgs.gnomeExtensions; [ totp ];
|
gnomeExtensions = with pkgs.gnomeExtensions; [ totp ];
|
||||||
packages = with pkgs; [ fastfetch ];
|
packages = with pkgs; [ fastfetch ];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../template.nix
|
../template.nix
|
||||||
#../../../nixos/shell.nix
|
#../../../nixos/shell.nix
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../template.nix
|
../template.nix
|
||||||
../../../nixos/shell.nix
|
../../../nixos/shell.nix
|
||||||
|
|
|
@ -1,16 +1,25 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# catppuccin
|
# catppuccin
|
||||||
(catppuccin.override {
|
(catppuccin.override {
|
||||||
variant = "mocha";
|
variant = "mocha";
|
||||||
accent ="blue";
|
accent = "blue";
|
||||||
themeList = [ "bat" "lazygit" ];
|
themeList = [
|
||||||
|
"bat"
|
||||||
|
"lazygit"
|
||||||
|
];
|
||||||
})
|
})
|
||||||
catppuccin-cursors
|
catppuccin-cursors
|
||||||
|
|
||||||
# catppuccin for kde plasma
|
# catppuccin for kde plasma
|
||||||
(catppuccin-kde.override {
|
(catppuccin-kde.override {
|
||||||
flavour = [ "mocha" "macchiato" "frappe" "latte" ];
|
flavour = [
|
||||||
|
"mocha"
|
||||||
|
"macchiato"
|
||||||
|
"frappe"
|
||||||
|
"latte"
|
||||||
|
];
|
||||||
accents = [ "blue" ];
|
accents = [ "blue" ];
|
||||||
winDecStyles = [ "classic" ];
|
winDecStyles = [ "classic" ];
|
||||||
})
|
})
|
||||||
|
|
|
@ -5,8 +5,14 @@
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = [
|
||||||
trusted-users = [ "root" "@wheel" ];
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
trusted-users = [
|
||||||
|
"root"
|
||||||
|
"@wheel"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -90,7 +96,11 @@
|
||||||
users.users.cswimr = {
|
users.users.cswimr = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Seaswimmer";
|
description = "Seaswimmer";
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"docker"
|
||||||
|
];
|
||||||
openssh = {
|
openssh = {
|
||||||
authorizedKeys.keys = [
|
authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILOka7plvb0hAwDq04mb+hs+a+P3XDhyYyvhw1L5tvlz cswimr@eclipse"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILOka7plvb0hAwDq04mb+hs+a+P3XDhyYyvhw1L5tvlz cswimr@eclipse"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
environment.systemPackages = with pkgs; [ devenv ];
|
environment.systemPackages = with pkgs; [ devenv ];
|
||||||
|
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, ... }: {
|
{ lib, ... }:
|
||||||
|
{
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
PATH = "$PATH:/etc/nixos/scripts";
|
PATH = "$PATH:/etc/nixos/scripts";
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
{
|
{
|
||||||
services.flatpak = {
|
services.flatpak = {
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = [
|
packages = [
|
||||||
{ flatpakref = "https://sober.vinegarhq.org/sober.flatpakref"; sha256 = "1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l"; }
|
{
|
||||||
];
|
flatpakref = "https://sober.vinegarhq.org/sober.flatpakref";
|
||||||
};
|
sha256 = "1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
config = {
|
config = {
|
||||||
init = { defaultBranch = "master"; };
|
init = {
|
||||||
safe = { directory = "/etc/nixos"; };
|
defaultBranch = "master";
|
||||||
|
};
|
||||||
|
safe = {
|
||||||
|
directory = "/etc/nixos";
|
||||||
|
};
|
||||||
url = {
|
url = {
|
||||||
"https://www.coastalcommits.com/" = {
|
"https://www.coastalcommits.com/" = {
|
||||||
insteadOf = [
|
insteadOf = [
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ pkgs, inputs, system, lib, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
kdePackages = with pkgs.kdePackages; [ plasma-browser-integration ];
|
kdePackages = with pkgs.kdePackages; [ plasma-browser-integration ];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
@ -13,9 +19,9 @@ let
|
||||||
libnotify
|
libnotify
|
||||||
];
|
];
|
||||||
flakePackages = with inputs; [ zen-browser.packages.${system}.specific ];
|
flakePackages = with inputs; [ zen-browser.packages.${system}.specific ];
|
||||||
in {
|
in
|
||||||
environment.systemPackages =
|
{
|
||||||
lib.lists.unique (kdePackages ++ packages ++ flakePackages);
|
environment.systemPackages = lib.lists.unique (kdePackages ++ packages ++ flakePackages);
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
# You can leave this disabled if you're only using the Wayland session.
|
# You can leave this disabled if you're only using the Wayland session.
|
||||||
|
@ -44,8 +50,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "default.target" ];
|
wantedBy = [ "default.target" ];
|
||||||
description =
|
description = "A GUI to monitor and manage Tailscale on your Linux desktop, built using KDE Frameworks and Kirigami2.";
|
||||||
"A GUI to monitor and manage Tailscale on your Linux desktop, built using KDE Frameworks and Kirigami2.";
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
ExecStart = "${pkgs.ktailctl}/bin/ktailctl";
|
ExecStart = "${pkgs.ktailctl}/bin/ktailctl";
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
{ config, ... }: {
|
{ config, ... }:
|
||||||
|
{
|
||||||
# Enable OpenGL
|
# Enable OpenGL
|
||||||
hardware.graphics = { enable = true; };
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Load nvidia driver for Xorg / Wayland
|
# Load nvidia driver for Xorg / Wayland
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
extraPackages = with pkgs; [ fd ];
|
extraPackages = with pkgs; [ fd ];
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ pkgs, lib, inputs, system, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
# List of packages installed in system profile. To search, run:
|
# List of packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
|
@ -38,7 +44,7 @@ let
|
||||||
lazygit
|
lazygit
|
||||||
lazydocker
|
lazydocker
|
||||||
bat
|
bat
|
||||||
nixfmt
|
nixfmt-rfc-style
|
||||||
zenity
|
zenity
|
||||||
forgejo-runner # for some reason this installs forgejo-runner as act_runner
|
forgejo-runner # for some reason this installs forgejo-runner as act_runner
|
||||||
libwebp
|
libwebp
|
||||||
|
@ -55,11 +61,14 @@ let
|
||||||
python311Packages.rich
|
python311Packages.rich
|
||||||
];
|
];
|
||||||
flakePackages = with inputs; [ compose2nix.packages.${system}.default ];
|
flakePackages = with inputs; [ compose2nix.packages.${system}.default ];
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
environment.systemPackages = lib.lists.unique (packages ++ flakePackages);
|
environment.systemPackages = lib.lists.unique (packages ++ flakePackages);
|
||||||
|
|
||||||
# install docker
|
# install docker
|
||||||
virtualisation.docker = { enable = true; };
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# remove nano
|
# remove nano
|
||||||
programs.nano.enable = false;
|
programs.nano.enable = false;
|
||||||
|
|
178
nixos/shell.nix
178
nixos/shell.nix
|
@ -1,17 +1,16 @@
|
||||||
{ config, pkgs, ... }: {
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
#TODO: Submit a PR to nixpkgs to add xonsh support to the Starship module
|
#TODO: Submit a PR to nixpkgs to add xonsh support to the Starship module
|
||||||
# After that, we can remove this import and the disabledModules line
|
# After that, we can remove this import and the disabledModules line
|
||||||
disabledModules = [ "programs/starship.nix" ];
|
disabledModules = [ "programs/starship.nix" ];
|
||||||
imports =
|
imports = [ /bulk/home/cswimr/Projects/nixpkgs/nixos/modules/programs/starship.nix ];
|
||||||
[ /bulk/home/cswimr/Projects/nixpkgs/nixos/modules/programs/starship.nix ];
|
|
||||||
|
|
||||||
# starship - a customizable prompt for any shell
|
# starship - a customizable prompt for any shell
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# custom settings
|
# custom settings
|
||||||
settings = {
|
settings = {
|
||||||
format =
|
format = "[](bg:#1e1e2e fg:#a6e3a1)$username$hostname[](fg:#a6e3a1 bg:#89b4fa)$directory[](fg:#89b4fa bg:#cba6f7)$direnv[](fg:#cba6f7 bg:#f9e2af)$git_branch$git_status[](fg:#f9e2af bg:#1e1e2e)$character";
|
||||||
"[](bg:#1e1e2e fg:#a6e3a1)$username$hostname[](fg:#a6e3a1 bg:#89b4fa)$directory[](fg:#89b4fa bg:#cba6f7)$direnv[](fg:#cba6f7 bg:#f9e2af)$git_branch$git_status[](fg:#f9e2af bg:#1e1e2e)$character";
|
|
||||||
username = {
|
username = {
|
||||||
show_always = true;
|
show_always = true;
|
||||||
format = "[ $user@]($style)";
|
format = "[ $user@]($style)";
|
||||||
|
@ -69,97 +68,98 @@
|
||||||
programs.bash.completion.enable = true;
|
programs.bash.completion.enable = true;
|
||||||
|
|
||||||
users.defaultUserShell = pkgs.xonsh;
|
users.defaultUserShell = pkgs.xonsh;
|
||||||
programs.xonsh = let bashcfg = config.programs.bash;
|
programs.xonsh =
|
||||||
in {
|
let
|
||||||
enable = true;
|
bashcfg = config.programs.bash;
|
||||||
config = ''
|
in
|
||||||
$BASH_COMPLETIONS = ('${bashcfg.completion.package}/etc/profile.d/bash_completion.sh')
|
{
|
||||||
$UPDATE_OS_ENVIRON = True
|
enable = true;
|
||||||
$XONTRIB_CLP_ALIAS = 'shutil'
|
config = ''
|
||||||
#xontrib load cd
|
$BASH_COMPLETIONS = ('${bashcfg.completion.package}/etc/profile.d/bash_completion.sh')
|
||||||
xontrib load clp
|
$UPDATE_OS_ENVIRON = True
|
||||||
xontrib load direnv
|
$XONTRIB_CLP_ALIAS = 'shutil'
|
||||||
xontrib load sh
|
#xontrib load cd
|
||||||
'';
|
xontrib load clp
|
||||||
package = pkgs.xonsh.override {
|
xontrib load direnv
|
||||||
extraPackages = ps: [
|
xontrib load sh
|
||||||
pkgs.python311Packages.rich
|
'';
|
||||||
# (ps.buildPythonPackage rec {
|
package = pkgs.xonsh.override {
|
||||||
# name = "xontrib-cd";
|
extraPackages = ps: [
|
||||||
# version = "0.3.1";
|
pkgs.python311Packages.rich
|
||||||
|
# (ps.buildPythonPackage rec {
|
||||||
|
# name = "xontrib-cd";
|
||||||
|
# version = "0.3.1";
|
||||||
|
|
||||||
# src = pkgs.fetchFromGitHub {
|
# src = pkgs.fetchFromGitHub {
|
||||||
# owner = "eugenesvk";
|
# owner = "eugenesvk";
|
||||||
# repo = name;
|
# repo = name;
|
||||||
# rev = version;
|
# rev = version;
|
||||||
# sha256 = "XxSxjyCg7PeX1v3e2KKicvAPmNeq+qVqbW4fXTwAiic=";
|
# sha256 = "XxSxjyCg7PeX1v3e2KKicvAPmNeq+qVqbW4fXTwAiic=";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# meta = {
|
# meta = {
|
||||||
# homepage = "https://github.com/eugenesvk/xontrib-cd";
|
# homepage = "https://github.com/eugenesvk/xontrib-cd";
|
||||||
# description =
|
# description =
|
||||||
# "`cd` to any path without escaping in xonsh shell: `cd ~/[te] st`";
|
# "`cd` to any path without escaping in xonsh shell: `cd ~/[te] st`";
|
||||||
# license = pkgs.lib.licenses.mit;
|
# license = pkgs.lib.licenses.mit;
|
||||||
# maintainers = [ "cswimr" ];
|
# maintainers = [ "cswimr" ];
|
||||||
# };
|
# };
|
||||||
# })
|
# })
|
||||||
(ps.buildPythonPackage rec {
|
(ps.buildPythonPackage rec {
|
||||||
name = "xontrib-clp";
|
name = "xontrib-clp";
|
||||||
version = "0.1.7";
|
version = "0.1.7";
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "anki-code";
|
owner = "anki-code";
|
||||||
repo = name;
|
repo = name;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1ewWlwG8KY9s6qydErurvP2x+4DIPTFcjSGP1c5y83M=";
|
sha256 = "1ewWlwG8KY9s6qydErurvP2x+4DIPTFcjSGP1c5y83M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/anki-code/xontrib-clp";
|
homepage = "https://github.com/anki-code/xontrib-clp";
|
||||||
description =
|
description = "Copy output to clipboard. Cross-platform.";
|
||||||
"Copy output to clipboard. Cross-platform.";
|
license = pkgs.lib.licenses.mit;
|
||||||
license = pkgs.lib.licenses.mit;
|
maintainers = [ "cswimr" ];
|
||||||
maintainers = [ "cswimr" ];
|
};
|
||||||
};
|
})
|
||||||
})
|
(ps.buildPythonPackage rec {
|
||||||
(ps.buildPythonPackage rec {
|
name = "xonsh-direnv";
|
||||||
name = "xonsh-direnv";
|
version = "1.6.5";
|
||||||
version = "1.6.5";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "74th";
|
owner = "74th";
|
||||||
repo = name;
|
repo = name;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "huBJ7WknVCk+WgZaXHlL+Y1sqsn6TYqMP29/fsUPSyU=";
|
sha256 = "huBJ7WknVCk+WgZaXHlL+Y1sqsn6TYqMP29/fsUPSyU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/74th/xonsh-direnv";
|
homepage = "https://github.com/74th/xonsh-direnv";
|
||||||
description = "xonsh extension for using direnv";
|
description = "xonsh extension for using direnv";
|
||||||
license = pkgs.lib.licenses.mit;
|
license = pkgs.lib.licenses.mit;
|
||||||
maintainers = [ "cswimr" ];
|
maintainers = [ "cswimr" ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(ps.buildPythonPackage rec {
|
(ps.buildPythonPackage rec {
|
||||||
name = "xontrib-sh";
|
name = "xontrib-sh";
|
||||||
version = "0.3.1";
|
version = "0.3.1";
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "anki-code";
|
owner = "anki-code";
|
||||||
repo = name;
|
repo = name;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "KL/AxcsvjxqxvjDlf1axitgME3T+iyuW6OFb1foRzN8=";
|
sha256 = "KL/AxcsvjxqxvjDlf1axitgME3T+iyuW6OFb1foRzN8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/anki-code/xontrib-sh";
|
homepage = "https://github.com/anki-code/xontrib-sh";
|
||||||
description =
|
description = "Paste and run commands from bash, zsh, fish, tcsh in xonsh shell.";
|
||||||
"Paste and run commands from bash, zsh, fish, tcsh in xonsh shell.";
|
license = pkgs.lib.licenses.mit;
|
||||||
license = pkgs.lib.licenses.mit;
|
maintainers = [ "cswimr" ];
|
||||||
maintainers = [ "cswimr" ];
|
};
|
||||||
};
|
})
|
||||||
})
|
];
|
||||||
];
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
{
|
{
|
||||||
security.sudo.extraRules = [{
|
security.sudo.extraRules = [
|
||||||
users = [ "cswimr" ];
|
{
|
||||||
commands = [{
|
users = [ "cswimr" ];
|
||||||
command = "ALL";
|
commands = [
|
||||||
options = [ "SETENV" "NOPASSWD" ];
|
{
|
||||||
}];
|
command = "ALL";
|
||||||
}];
|
options = [
|
||||||
|
"SETENV"
|
||||||
|
"NOPASSWD"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
# with the contents of your Tailscale auth key.
|
# with the contents of your Tailscale auth key.
|
||||||
# Make sure your permissions are set correctly, e.g. 0600.
|
# Make sure your permissions are set correctly, e.g. 0600.
|
||||||
authKeyFile = "/run/secrets/tailscale";
|
authKeyFile = "/run/secrets/tailscale";
|
||||||
extraUpFlags = [ "--ssh" "--accept-routes" "--accept-dns" "--operator=cswimr" ];
|
extraUpFlags = [
|
||||||
|
"--ssh"
|
||||||
|
"--accept-routes"
|
||||||
|
"--accept-dns"
|
||||||
|
"--operator=cswimr"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,8 @@ let
|
||||||
config = { };
|
config = { };
|
||||||
overlays = [ ];
|
overlays = [ ];
|
||||||
};
|
};
|
||||||
in pkgs.mkShellNoCC {
|
in
|
||||||
|
pkgs.mkShellNoCC {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
libnotify
|
libnotify
|
||||||
python312
|
python312
|
||||||
|
|
Loading…
Reference in a new issue