diff --git a/flake.nix b/flake.nix index e9df1b6..e420954 100644 --- a/flake.nix +++ b/flake.nix @@ -74,6 +74,7 @@ ./nixos/workstation.nix ./nixos/modules/work.nix ./nixos/programs/hyprland.nix + (import ./nixos/programs/auto-login.nix "hyprland") ]; home-modules = [ ./home/programs/work.nix diff --git a/home/default.nix b/home/default.nix index 0c5f5ff..3b09170 100644 --- a/home/default.nix +++ b/home/default.nix @@ -65,5 +65,10 @@ }; }; + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + programs.direnv.enable = true; } diff --git a/home/desktop/cosmic/default.nix b/home/desktop/cosmic/default.nix index a51d14d..0dab645 100644 --- a/home/desktop/cosmic/default.nix +++ b/home/desktop/cosmic/default.nix @@ -6,7 +6,7 @@ }: let inherit (config.lib.cosmic) Actions mapBinds; SpawnTerminal = name: pkg: - Actions.Spawn (pkgs.writeShellScriptBin name "${lib.getExe pkgs.alacritty} -e ${lib.getExe pkg}"); + Actions.Spawn (pkgs.writeShellScriptBin name "${lib.getExe config.programs.terminal} -e ${lib.getExe pkg}"); in { programs.cosmic = { enable = true; @@ -43,7 +43,7 @@ in { Super.Shift. "y" = Actions.ToggleSticky; # System Super. "d" = Actions.Spawn config.programs.menu.drunCommand; - Super. "Return" = Actions.Spawn pkgs.alacritty; + Super. "Return" = Actions.Spawn config.programs.terminal; Super. "e" = SpawnTerminal "aerc" config.programs.aerc.package; Super. "o" = Actions.System "HomeFolder"; Super.Shift. "s" = Actions.System "Screenshot"; diff --git a/home/desktop/hyprland/default.nix b/home/desktop/hyprland/default.nix index ce19819..7e7311d 100644 --- a/home/desktop/hyprland/default.nix +++ b/home/desktop/hyprland/default.nix @@ -152,8 +152,7 @@ in { "${modifier}_SHIFT, Y, movetoworkspace, special" # applications - "${modifier}, slash, focuswindow, brave-browser" - "${modifier}, n, focuswindow, Logseq" + "${modifier}, slash, exec, ${lib.getExe config.programs.chromium.package}" # workspaces "${modifier}, 1, workspace,1" diff --git a/home/modules/terminal.nix b/home/modules/terminal.nix index 5942e2b..903e1c2 100644 --- a/home/modules/terminal.nix +++ b/home/modules/terminal.nix @@ -4,7 +4,7 @@ ... }: { options.programs = { - terminal = lib.mkPackageOption pkgs "alacritty" {}; + terminal = lib.mkPackageOption pkgs "foot" {}; }; config = { @@ -16,5 +16,9 @@ }; }; }; + + programs.foot = { + enable = true; + }; }; } diff --git a/home/programs/graphical.nix b/home/programs/graphical.nix index 98d78a1..54c2b04 100644 --- a/home/programs/graphical.nix +++ b/home/programs/graphical.nix @@ -1,6 +1,5 @@ {pkgs, ...}: { imports = [ - ./pcmanfm.nix ./mpv.nix ./vscode.nix ]; @@ -11,6 +10,7 @@ easyeffects pwvucontrol helvum + cosmic-files # tools inkscape diff --git a/home/programs/lf/preview.sh b/home/programs/lf/preview.sh index 7f9f441..936bf5e 100755 --- a/home/programs/lf/preview.sh +++ b/home/programs/lf/preview.sh @@ -13,7 +13,7 @@ image () { [ ! -f "$CACHE" ] && \ chafa -f sixel -s "$2x$3" --animate off --polite on "$1" > "$CACHE" cat "$CACHE" - exit 1 + exit 0 } case "$(file -Lb --mime-type -- "$file")" in diff --git a/home/programs/neovim/default.nix b/home/programs/neovim/default.nix index 31d7b51..d102885 100644 --- a/home/programs/neovim/default.nix +++ b/home/programs/neovim/default.nix @@ -11,8 +11,8 @@ // (import ../../../lib/nixvim.nix input); programs.vscode = { - extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim]; - userSettings = { + profiles.default.extensions = [pkgs.vscode-extensions.asvetliakov.vscode-neovim]; + profiles.default.userSettings = { "vscode-neovim.neovimExecutablePaths.linux" = lib.getExe config.programs.nixvim.package; "extensions.experimental.affinity" = { diff --git a/home/programs/scripts.nix b/home/programs/scripts.nix index c95db57..57cd89f 100644 --- a/home/programs/scripts.nix +++ b/home/programs/scripts.nix @@ -22,7 +22,7 @@ xargs = "${pkgs.findutils}/bin/xargs"; menu = config.programs.menu.dmenuCommand; runmenu = config.programs.menu.drunCommand; - fileman = "${pkgs.pcmanfm}/bin/pcmanfm"; + fileman = lib.getExe pkgs.cosmic-files; gawk = "${pkgs.gawk}/bin/awk"; hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker"; sed = "${pkgs.gnused}/bin/sed"; diff --git a/home/programs/tmux.nix b/home/programs/tmux.nix index f2b301d..4d645ca 100644 --- a/home/programs/tmux.nix +++ b/home/programs/tmux.nix @@ -10,7 +10,8 @@ extraConfig = '' bind -n M-s split-window -v bind -n M-v split-window -h - bind -n M-Enter split-window -h + bind -n M-S-s split-window -h -c "#{pane_current_path}" + bind -n M-S-v split-window -h -c "#{pane_current_path}" bind -n M-h select-pane -L bind -n M-j select-pane -D bind -n M-k select-pane -U @@ -22,22 +23,10 @@ bind -n M-+ resize-pane -U 10 bind -n M-z resize-pane -Z bind -n M-u copy-mode - bind -n M-p paste-buffer + bind -n M-p previous-window bind -n M-n next-window set-option -g renumber-windows on ''; }; - - # programs.kitty = { - # enable = true; - # keybindings = { - # "alt+h" = "neighboring_window left"; - # "alt+l" = "neighboring_window right"; - # "alt+j" = "neighboring_window down"; - # "alt+k" = "neighboring_window up"; - # "alt+enter" = "new_window"; - # }; - # shellIntegration.enableZshIntegration = true; - # }; } diff --git a/home/programs/vscode.nix b/home/programs/vscode.nix index 5be9d65..a3bd464 100644 --- a/home/programs/vscode.nix +++ b/home/programs/vscode.nix @@ -4,15 +4,13 @@ config, ... }: let - pkg = config.programs.vscode.package; + code = lib.getExe config.programs.vscode.package; menu = config.programs.menu.dmenuCommand; - editorCmd = "NIXOS_OZONE_WL= ${pkg}/bin/${pkg.executableName}"; in { programs.vscode = { enable = true; package = lib.mkDefault pkgs.vscodium; - extensions = []; - userSettings = { + profiles.default.userSettings = { "keyboard.dispatch" = "keyCode"; "terminal.integrated.sendKeybindingsToShell" = true; "aws.telemetry" = false; @@ -32,7 +30,7 @@ in { code_dir=~/Documents/code cd $code_dir repo=$(ls | ${menu}) - [ -e "$repo" ] && ${editorCmd} $repo + [ -e "$repo" ] && ${code} $repo ''; install = false; hotkeys = [{key = "C";}]; diff --git a/home/programs/work.nix b/home/programs/work.nix index 2993d8a..c90572c 100644 --- a/home/programs/work.nix +++ b/home/programs/work.nix @@ -49,14 +49,9 @@ in { programs.vscode = { package = pkgs.vscode; - extensions = with pkgs; [ + profiles.default.extensions = with pkgs; [ vscode-extensions.ms-azuretools.vscode-docker ]; - userSettings = { - "aws.telemetry" = false; - "gitlens.telemetry.enabled" = false; - "redhat.telemetry.enabled" = false; - }; }; wayland.windowManager.hyprland.settings = { diff --git a/lib/nixvim.nix b/lib/nixvim.nix index 88363e0..48ae658 100644 --- a/lib/nixvim.nix +++ b/lib/nixvim.nix @@ -278,7 +278,6 @@ in { settings = { nixpkgs.expr = ''import {}''; options.zenix.expr = ''(builtins.getFlake "git+https://git.tristans.cloud/tristan/nix").nixosConfigurations.zenix.options''; - options.alpine.expr = ''(builtins.getFlake "git+https://git.tristans.cloud/tristan/nix").nixosConfigurations.alpine.options''; formatting.command = [(lib.getExe pkgs.alejandra)]; }; }; diff --git a/nixos/default.nix b/nixos/default.nix index c36836d..00cd5f7 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -25,8 +25,10 @@ in { enable = true; device = "nodev"; efiSupport = true; + configurationLimit = 50; }; boot.loader.efi.canTouchEfiVariables = true; + boot.tmp.useTmpfs = true; networking.networkmanager.enable = true; programs.nm-applet = { @@ -90,6 +92,7 @@ in { services.gvfs.enable = true; environment.systemPackages = with pkgs; [ + networkmanagerapplet tealdeer alsa-utils trash-cli diff --git a/nixos/workstation.nix b/nixos/workstation.nix index b3e428d..a8da182 100644 --- a/nixos/workstation.nix +++ b/nixos/workstation.nix @@ -35,6 +35,7 @@ enable = true; image = ../images/nix-soft.png; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + polarity = "dark"; opacity = { terminal = 0.9; applications = 0.9; @@ -46,14 +47,11 @@ package = pkgs.vanilla-dmz; size = 24; }; + # autoEnable = true; targets = { - gtk.enable = false; # fails to switch with cosmic overriding it (grr) - gnome.enable = false; + qt.enable = true; grub = { - useImage = true; - }; - nixvim = { - enable = false; + useWallpaper = true; }; }; };