updates
This commit is contained in:
parent
a1cec54ec8
commit
ccbbb7f26e
18 changed files with 441 additions and 248 deletions
|
@ -14,7 +14,9 @@
|
|||
sharedModules = [
|
||||
./hm-modules
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
inputs.autostart.homeManagerModules.xdg-autostart
|
||||
inputs.catppuccin.homeManagerModules.catppuccin
|
||||
inputs.autostart.homeManagerModules.xdg-autostart
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -38,6 +38,8 @@
|
|||
# Enable my config for the gnome desktop environment
|
||||
v.gnome.enable = lib.mkDefault true;
|
||||
|
||||
flatpak.enable = true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
printing.enable = true;
|
||||
pipewire = {
|
||||
|
@ -120,6 +122,8 @@
|
|||
|
||||
adb.enable = true;
|
||||
};
|
||||
|
||||
|
||||
networking = {
|
||||
# Networking
|
||||
networkmanager.enable = true;
|
||||
|
|
|
@ -53,7 +53,22 @@ in
|
|||
unzip
|
||||
yt-dlp
|
||||
# z3
|
||||
|
||||
obsidian
|
||||
(lib.hiPrio (pkgs.writeShellScriptBin "obsidian" ''
|
||||
unset WAYLAND_DISPLAY
|
||||
${pkgs.obsidian}/bin/obsidian
|
||||
''))
|
||||
];
|
||||
#
|
||||
# xdg.desktopEntries = {
|
||||
# obsidian = {
|
||||
# name = "Obsidian";
|
||||
# genericName = "Markdown Editor";
|
||||
# exec = "obsidian";
|
||||
# terminal = false;
|
||||
# };
|
||||
# };
|
||||
|
||||
# Enable my own hm modules
|
||||
themes.v.catppuccin.enable = true;
|
||||
|
@ -97,6 +112,17 @@ in
|
|||
shellIntegration.enableZshIntegration = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
xdg.autoStart = {
|
||||
packages = with pkgs; [
|
||||
obsidian
|
||||
element-desktop
|
||||
firefox
|
||||
discord
|
||||
];
|
||||
};
|
||||
|
||||
# Syncthing
|
||||
services.syncthing.enable = true;
|
||||
xdg.userDirs =
|
||||
|
|
|
@ -203,6 +203,7 @@ with lib;
|
|||
image = {
|
||||
enable = true;
|
||||
};
|
||||
web-devicons.enable = true;
|
||||
bufferline.enable = true;
|
||||
nix.enable = true;
|
||||
luasnip.enable = true;
|
||||
|
@ -217,7 +218,7 @@ with lib;
|
|||
new_notes_location = "notes_subdir";
|
||||
notes_subdir = "Unsorted";
|
||||
daily_notes = {
|
||||
folder = "Periodics/Daily";
|
||||
folder = "Diary/Daily";
|
||||
};
|
||||
workspaces = [
|
||||
{
|
||||
|
|
|
@ -1,8 +1,17 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let cfg = config.programs.v.vscode;
|
||||
in {
|
||||
options.programs.v.vscode = { enable = mkEnableOption "vscode"; };
|
||||
let
|
||||
cfg = config.programs.v.vscode;
|
||||
in
|
||||
{
|
||||
options.programs.v.vscode = {
|
||||
enable = mkEnableOption "vscode";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
|
@ -12,23 +21,42 @@ in {
|
|||
"latex-workshop.linting.chktex.enabled" = true;
|
||||
"latex-workshop.latex.clean.subfolder.enabled" = true;
|
||||
"latex-workshop.latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
|
||||
"editor.fontFamily" =
|
||||
"'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
||||
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
||||
"keyboard.dispatch" = "keyCode";
|
||||
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
||||
"rust-analyzer.check.extraArgs" = ["--profile" "rust-analyzer"];
|
||||
"rust-analyzer.check.extraArgs" = [
|
||||
"--profile"
|
||||
"rust-analyzer"
|
||||
];
|
||||
"rust-analyzer.check.command" = "clippy";
|
||||
"terminal.integrated.defaultProfile.linux" = "zsh";
|
||||
"nix.enableLanguageServer" = true; # Enable LSP.
|
||||
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
||||
"[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; };
|
||||
"[python]" = { "editor.formatOnType" = true; };
|
||||
"[nix]" = {
|
||||
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
|
||||
};
|
||||
"[python]" = {
|
||||
"editor.formatOnType" = true;
|
||||
};
|
||||
"debug.allowBreakpointsEverywhere" = true;
|
||||
"C_Cpp.clang_format_fallbackStyle" =
|
||||
"{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}";
|
||||
"crates.compatibleDecorator" = "✓";
|
||||
"crates.errorDecorator" = "✗";
|
||||
"crates.incompatibleDecorator" = "🛇";
|
||||
"C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}";
|
||||
# "crates.compatibleDecorator" = "✓";
|
||||
# "crates.errorDecorator" = "✗";
|
||||
# "crates.incompatibleDecorator" = "🛇";
|
||||
|
||||
# Verilog
|
||||
"verilog.formatting.verilogHDL.formatter" = "verible-verilog-format";
|
||||
"verilog.languageServer.svls.enabled" = true;
|
||||
"verilog.languageServer.svls.path" = "${pkgs.svls}/bin/svls";
|
||||
"verilog.languageServer.veribleVerilogLs.enabled" = true;
|
||||
"verilog.languageServer.veribleVerilogLs.path" = "${pkgs.verible}/bin/verible-verilog-ls";
|
||||
"verilog.formatting.veribleVerilogFormatter.path" = "${pkgs.verible}/bin/verible-verilog-format";
|
||||
"verilog.linting.linter" = "verilator";
|
||||
"verilog.linting.path" = "${pkgs.verilator}/bin/verilator";
|
||||
"[verilog]" = {
|
||||
"editor.defaultFormatter" = "mshr-h.veriloghdl";
|
||||
};
|
||||
|
||||
# Don't index unecessary things
|
||||
"files.exclude" = {
|
||||
"**/.vscode" = true;
|
||||
|
@ -47,33 +75,42 @@ in {
|
|||
"/nix" = true;
|
||||
};
|
||||
};
|
||||
extensions = with pkgs.vscode-extensions;
|
||||
with pkgs.v.vscode-extensions; [
|
||||
extensions =
|
||||
with pkgs.vscode-extensions;
|
||||
with pkgs.v.vscode-extensions;
|
||||
[
|
||||
brettm12345.nixfmt-vscode
|
||||
catppuccin.catppuccin-vsc
|
||||
codezombiech.gitignore
|
||||
codezombiech.gitignore
|
||||
davidlday.languagetool-linter
|
||||
editorconfig.editorconfig
|
||||
foxundermoon.shell-format
|
||||
github.copilot
|
||||
github.copilot-chat
|
||||
github.vscode-github-actions
|
||||
james-yu.latex-workshop
|
||||
jnoortheen.nix-ide
|
||||
rust-lang.rust-analyzer
|
||||
mkhl.direnv
|
||||
ms-vscode-remote.remote-ssh
|
||||
ms-vscode.cpptools
|
||||
ms-vsliveshare.vsliveshare
|
||||
mshr-h.veriloghdl
|
||||
platformio.platformio-ide
|
||||
redhat.vscode-yaml
|
||||
redhat.vscode-xml
|
||||
redhat.vscode-yaml
|
||||
rust-lang.rust-analyzer
|
||||
skellock.just
|
||||
sumneko.lua
|
||||
tamasfe.even-better-toml
|
||||
vadimcn.vscode-lldb
|
||||
vadimcn.vscode-lldb
|
||||
valentjn.vscode-ltex
|
||||
vscodevim.vim
|
||||
vadimcn.vscode-lldb
|
||||
xaver.clang-format
|
||||
sumneko.lua
|
||||
davidlday.languagetool-linter
|
||||
serayuzgur.crates
|
||||
skellock.just
|
||||
continue.continue
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ in
|
|||
|
||||
# Add Home-manager dconf stuff
|
||||
home-manager.sharedModules = mkIf cfg.hm [ ./hm.nix ];
|
||||
|
||||
environment.gnome.excludePackages =
|
||||
(with pkgs; [
|
||||
gnome-photos
|
||||
|
@ -82,6 +83,8 @@ in
|
|||
# Services required for gnome
|
||||
programs.dconf.enable = true;
|
||||
|
||||
|
||||
|
||||
# Extra gnome packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome-tweaks
|
||||
|
|
|
@ -4,18 +4,20 @@ with lib.hm.gvariant;
|
|||
let
|
||||
inherit (builtins) attrNames map;
|
||||
inherit (lib.attrsets) mapAttrs' nameValuePair;
|
||||
generate_custom_keybindings = binds:
|
||||
generate_custom_keybindings =
|
||||
binds:
|
||||
{
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = map (name:
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}/")
|
||||
(attrNames binds);
|
||||
custom-keybindings = map (
|
||||
name: "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}/"
|
||||
) (attrNames binds);
|
||||
};
|
||||
} // mapAttrs' (name:
|
||||
nameValuePair
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}")
|
||||
binds;
|
||||
in {
|
||||
}
|
||||
// mapAttrs' (
|
||||
name: nameValuePair "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${name}"
|
||||
) binds;
|
||||
in
|
||||
{
|
||||
xdg.mimeApps.enable = true;
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"text/plain" = "org.gnome.TextEditor.desktop";
|
||||
|
@ -59,74 +61,106 @@ in {
|
|||
"image/x-icns" = "org.gnome.Loupe.desktop";
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ];
|
||||
xkb-options = [ "terminate:ctrl_alt_bksp" ];
|
||||
dconf.settings =
|
||||
{
|
||||
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = with pkgs.gnomeExtensions; [
|
||||
auto-move-windows.extensionUuid
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/auto-move-windows" = {
|
||||
application-list = [
|
||||
"element-desktop.desktop:1"
|
||||
"discord.desktop:1"
|
||||
"firefox.desktop:2"
|
||||
"obsidian.desktop:3"
|
||||
];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [
|
||||
(mkTuple [
|
||||
"xkb"
|
||||
"us+altgr-intl"
|
||||
])
|
||||
];
|
||||
xkb-options = [ "terminate:ctrl_alt_bksp" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
tap-to-click = true;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
|
||||
"org/gnome/mutter" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = false;
|
||||
edge-tiling = true;
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
|
||||
"org/gnome/mutter/keybindings" = {
|
||||
toggle-tiled-left = [ "<Super>bracketleft" ];
|
||||
toggle-tiled-right = [ "<Super>bracketright" ];
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = {
|
||||
toggle-overview = [ "<Super>d" ];
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
auto-raise = false;
|
||||
num-workspaces = 6;
|
||||
focus-mode = "sloppy";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
raise-or-lower = [ "<Super>s" ];
|
||||
switch-applications = [ "<Super>Tab" ];
|
||||
switch-applications-backward = [ "<Super>Tab" ];
|
||||
move-to-workspace-1 = [ "<Shift><Super>1" ];
|
||||
move-to-workspace-2 = [ "<Shift><Super>2" ];
|
||||
move-to-workspace-3 = [ "<Shift><Super>3" ];
|
||||
move-to-workspace-4 = [ "<Shift><Super>4" ];
|
||||
move-to-workspace-5 = [ "<Shift><Super>5" ];
|
||||
move-to-workspace-6 = [ "<Shift><Super>6" ];
|
||||
switch-to-workspace-1 = [ "<Super>1" ];
|
||||
switch-to-workspace-2 = [ "<Super>2" ];
|
||||
switch-to-workspace-3 = [ "<Super>3" ];
|
||||
switch-to-workspace-4 = [ "<Super>4" ];
|
||||
switch-to-workspace-5 = [ "<Super>5" ];
|
||||
switch-to-workspace-6 = [ "<Super>6" ];
|
||||
toggle-fullscreen = [ "<Super><Shift>M" ];
|
||||
toggle-maximized = [ "<Super>m" ];
|
||||
close = [ "<Super>Q" ];
|
||||
};
|
||||
|
||||
"org/gnome/tweaks" = {
|
||||
show-extensions-notice = false;
|
||||
};
|
||||
|
||||
"org/gnome/boxes" = {
|
||||
first-run = false;
|
||||
};
|
||||
}
|
||||
// generate_custom_keybindings {
|
||||
"terminal" = {
|
||||
binding = "<Super>Return";
|
||||
command = "${pkgs.kitty}/bin/kitty";
|
||||
name = "Open Terminal";
|
||||
};
|
||||
"firefox" = {
|
||||
binding = "<Super>f";
|
||||
command = "firefox";
|
||||
name = "Open Firefox";
|
||||
};
|
||||
};
|
||||
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
tap-to-click = true;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
|
||||
"org/gnome/mutter" = {
|
||||
attach-modal-dialogs = true;
|
||||
dynamic-workspaces = false;
|
||||
edge-tiling = true;
|
||||
focus-change-on-pointer-rest = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
|
||||
"org/gnome/mutter/keybindings" = {
|
||||
toggle-tiled-left = [ "<Super>bracketleft" ];
|
||||
toggle-tiled-right = [ "<Super>bracketright" ];
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = { toggle-overview = [ "<Super>d" ]; };
|
||||
|
||||
"org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; };
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
auto-raise = false;
|
||||
num-workspaces = 6;
|
||||
focus-mode = "sloppy";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
raise-or-lower = [ "<Super>s" ];
|
||||
switch-applications = [ "<Super>Tab" ];
|
||||
switch-applications-backward = [ "<Super>Tab" ];
|
||||
move-to-workspace-1 = [ "<Shift><Super>1" ];
|
||||
move-to-workspace-2 = [ "<Shift><Super>2" ];
|
||||
move-to-workspace-3 = [ "<Shift><Super>3" ];
|
||||
move-to-workspace-4 = [ "<Shift><Super>4" ];
|
||||
move-to-workspace-5 = [ "<Shift><Super>5" ];
|
||||
move-to-workspace-6 = [ "<Shift><Super>6" ];
|
||||
switch-to-workspace-1 = [ "<Super>1" ];
|
||||
switch-to-workspace-2 = [ "<Super>2" ];
|
||||
switch-to-workspace-3 = [ "<Super>3" ];
|
||||
switch-to-workspace-4 = [ "<Super>4" ];
|
||||
switch-to-workspace-5 = [ "<Super>5" ];
|
||||
switch-to-workspace-6 = [ "<Super>6" ];
|
||||
toggle-fullscreen = [ "<Super><Shift>M" ];
|
||||
toggle-maximized = [ "<Super>m" ];
|
||||
close = [ "<Super>Q" ];
|
||||
};
|
||||
|
||||
"org/gnome/tweaks" = { show-extensions-notice = false; };
|
||||
|
||||
"org/gnome/boxes" = { first-run = false; };
|
||||
} // generate_custom_keybindings {
|
||||
"terminal" = {
|
||||
binding = "<Super>Return";
|
||||
command = "${pkgs.kitty}/bin/kitty";
|
||||
name = "Open Terminal";
|
||||
};
|
||||
"firefox" = {
|
||||
binding = "<Super>f";
|
||||
command = "firefox";
|
||||
name = "Open Firefox";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue