diff --git a/nix/configuration.nix b/nix/configuration.nix index d7b594f..0d6bff9 100644 --- a/nix/configuration.nix +++ b/nix/configuration.nix @@ -8,9 +8,10 @@ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix - ./modules/greetd/nixos.nix - ./modules/stylix/nixos.nix - ./modules/steam/nixos.nix + ./modules/greetd/nixos.nix + ./modules/stylix/nixos.nix + ./modules/steam/nixos.nix + ./modules/hyprland/nixos.nix ./disks.nix ]; @@ -63,8 +64,6 @@ # Enable the X11 windowing system. # services.xserver.enable = true; - programs.hyprland.enable = true; - # Enable OpenGL hardware.graphics = { enable = true; @@ -73,6 +72,16 @@ # Load nvidia driver for Xorg and Wayland services.xserver.videoDrivers = ["nvidia"]; + fileSystems."/mnt/2tb" = { + device = "/dev/disk/by-uuid/0f49aec7-4af2-4f4f-b475-3f4fad2b59c2"; + fsType = "ext4"; + options = [ # If you don't have this options attribute, it'll default to "defaults" + # boot options for fstab. Search up fstab mount options you can use + "users" # Allows any user to mount and unmount + "nofail" # Prevent system from failing if this drive doesn't mount + ]; + }; + hardware.nvidia = { # Modesetting is required. @@ -107,10 +116,11 @@ fonts = { enableDefaultPackages = true; packages = with pkgs; [ - jetbrains-mono + nerd-fonts.jetbrains-mono material-design-icons material-symbols nerd-fonts.caskaydia-cove + nerd-fonts.noto ]; fontDir.enable = true; }; @@ -151,6 +161,7 @@ environment.systemPackages = with pkgs; [ vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget + killall ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/nix/flake.lock b/nix/flake.lock index 2c6c99e..b14ab84 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -207,6 +207,27 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "4524271976b625a4a605beefd893f270620fd751", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -227,6 +248,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -631,6 +670,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.1.1", + "repo": "ixx", + "type": "github" + } + }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat_2", @@ -719,6 +786,45 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1758277210, + "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_3" + }, + "locked": { + "lastModified": 1758551108, + "narHash": "sha256-3KArqJcnrcEr1M3QsBG7NZRQSxVNFI3In+9MHdVmUKY=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "f828dead7723e7680b09929b9886225389d0370b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": [ @@ -744,6 +850,29 @@ "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758272005, + "narHash": "sha256-1u3xTH+3kaHhztPmWtLAD8LF5pTYLR2CpsPFWTFnVtQ=", + "owner": "NuschtOS", + "repo": "search", + "rev": "aa975a3757f28ce862812466c5848787b868e116", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -794,8 +923,10 @@ "hyprland": "hyprland", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_3", + "nixvim": "nixvim", "quickshell": "quickshell", "sops-nix": "sops-nix", + "spicetify-nix": "spicetify-nix", "stylix": "stylix" } }, @@ -819,6 +950,25 @@ "type": "github" } }, + "spicetify-nix": { + "inputs": { + "nixpkgs": "nixpkgs_4", + "systems": "systems_4" + }, + "locked": { + "lastModified": 1758584568, + "narHash": "sha256-FDxTheW6ynpbro/8eTZHhAY7J+HOf0jXeXq3jrJDcS8=", + "owner": "Gerg-L", + "repo": "spicetify-nix", + "rev": "9e9e48ca16628bf09a02bc5449d4b0761e15eebd", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "spicetify-nix", + "type": "github" + } + }, "stylix": { "inputs": { "base16": "base16", @@ -826,13 +976,13 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "gnome-shell": "gnome-shell", "nixpkgs": [ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_5", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -883,6 +1033,51 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { diff --git a/nix/flake.nix b/nix/flake.nix index 518f2dd..0c8b6a8 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -26,6 +26,13 @@ inputs.nixpkgs.follows = "nixpkgs"; }; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + spicetify-nix = { + url = "github:Gerg-L/spicetify-nix"; + }; }; outputs = inputs@{ nixpkgs, home-manager, ... }: @@ -48,7 +55,7 @@ # Optionally use extraSpecialArgs # to pass through arguments to home.nix }; - nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { + nixosConfigurations.doloroo-main = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs system; }; diff --git a/nix/home.nix b/nix/home.nix index 1b90d90..bb67f6a 100644 --- a/nix/home.nix +++ b/nix/home.nix @@ -5,8 +5,12 @@ ./modules/hyprland/home.nix ./modules/quickshell/home.nix ./modules/chromium/home.nix - ./modules/neovim/home.nix - #./modules/stylix/home.nix + #./modules/neovim/home.nix + ./modules/stylix/home.nix + ./modules/nixvim/home.nix + ./modules/tmux/home.nix + ./modules/theme/home.nix + ./modules/spicetify/home.nix ]; # Home Manager needs a bit of information about you and the paths it should # manage. @@ -15,7 +19,7 @@ programs.git = { enable = true; - userName = "doloro"; + userName = "Doloro1978"; userEmail = "doloro@proton.me"; }; @@ -35,7 +39,8 @@ vim telegram-desktop vesktop - spotify + # spotify + pavucontrol ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage diff --git a/nix/modules/hg b/nix/modules/hg new file mode 100644 index 0000000..e69de29 diff --git a/nix/modules/hyprland/home.nix b/nix/modules/hyprland/home.nix index 0991b1b..73d8ce8 100644 --- a/nix/modules/hyprland/home.nix +++ b/nix/modules/hyprland/home.nix @@ -6,6 +6,7 @@ in imports = [ ./settings.nix ./runner.nix + ./screenshot.nix ]; wayland.windowManager.hyprland = { enable = true; @@ -22,7 +23,7 @@ in main = { term = "xterm-256color"; - #font = "CaskaydiaCove Nerd Font Mono:size=11"; + font = "CaskaydiaCove Nerd Font Mono:size=12"; }; mouse = { diff --git a/nix/modules/hyprland/nixos.nix b/nix/modules/hyprland/nixos.nix new file mode 100644 index 0000000..5f8bdc2 --- /dev/null +++ b/nix/modules/hyprland/nixos.nix @@ -0,0 +1,19 @@ +{ inputs, pkgs, ... }: +{ + config = { + programs.xwayland.enable = true; + programs.hyprland = { + enable = true; + # set the flake package + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + # make sure to also set the portal package, so that they are in sync + portalPackage = + inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + nix.settings = { + substituters = [ "https://hyprland.cachix.org" ]; + trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; + }; + }; +} diff --git a/nix/modules/hyprland/runner.nix b/nix/modules/hyprland/runner.nix index 3614cdd..890a487 100644 --- a/nix/modules/hyprland/runner.nix +++ b/nix/modules/hyprland/runner.nix @@ -2,7 +2,5 @@ let in { - home.packages = with pkgs; [ - wofi - ]; + programs.wofi.enable = true; } diff --git a/nix/modules/hyprland/screenshot.nix b/nix/modules/hyprland/screenshot.nix index 3614cdd..61cd6a0 100644 --- a/nix/modules/hyprland/screenshot.nix +++ b/nix/modules/hyprland/screenshot.nix @@ -2,7 +2,10 @@ let in { - home.packages = with pkgs; [ - wofi - ]; + home.packages = with pkgs; [ + wl-clipboard + wayfreeze + grim + slurp + ]; } diff --git a/nix/modules/hyprland/settings.nix b/nix/modules/hyprland/settings.nix index ebfaab5..dfd47b5 100644 --- a/nix/modules/hyprland/settings.nix +++ b/nix/modules/hyprland/settings.nix @@ -99,12 +99,12 @@ "$mainMod, right, movefocus, r" "$mainMod, up, movefocus, u" "$mainMod, down, movefocus, d" - "$mainMod, S, exec, $screenShot" + ("$mainMod, S, exec, " + ''wayfreeze --after-freeze-cmd 'grim -g "$(slurp -d)" - | wl-copy -t image/png;killall wayfreeze' --hide-cursor'') "$mainMod, F, fullscreen" "$mainMod, mouse_down, workspace, e+1" "$mainMod, mouse_up, workspace, e-1" - ", home, exec, $toggleSpeaker" - ", end, exec, $toggleMic" + ", home, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + ", end, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" ", F8, sendshortcut, , F8, class:^(com\.obsproject\.Studio)$" "$mainMod, 0, workspace, 10" "$mainMod SHIFT, 0, movetoworkspace, 10" @@ -132,6 +132,7 @@ "workspace 8 silent, class:^(vesktop)$" "workspace 8 silent, class:^(org.telegram.desktop)$" "workspace 10 silent, class:^(com\.obsproject\.Studio)$" + "workspace 1 silent, initialTitle:^(Discord Popout)$" ]; windowrulev2 = [ "noinitialfocus, class:.*" diff --git a/nix/modules/nixvim/home.nix b/nix/modules/nixvim/home.nix new file mode 100644 index 0000000..4c8b2c7 --- /dev/null +++ b/nix/modules/nixvim/home.nix @@ -0,0 +1,66 @@ +{ inputs, pkgs, ... }:{ + imports = [ + inputs.nixvim.homeModules.nixvim + ]; + programs.nixvim = { + enable = true; + defaultEditor = true; + plugins = { + notify.enable = true; + mini-cursorword.enable = true; + mini-statusline.enable = true; + web-devicons.enable = true; + vim-dadbod-completion.enable = true; + telescope.enable = true; + lazygit.enable = true; + persisted.enable = true; + wakatime.enable = true; + }; + extraPlugins = with pkgs; [ + vimPlugins.mini-completion + vimPlugins.mini-comment + vimPlugins.melange-nvim + vimPlugins.telescope-file-browser-nvim + ]; + opts = { + number = true; + bg = "dark"; + tabstop = 2; + shiftwidth = 2; + termguicolors = true; + }; + globals = { + mapleader = " "; + }; + keymaps = [ + { + action = "Telescope persisted"; + key = "fs"; + options = { + silent = true; + }; + } + { + action = "Telescope file_browser"; + key = "fv"; + options = { + silent = true; + }; + } + { + action = "LazyGit"; + key = "lg"; + options = { + silent = true; + }; + } + { + action = "Telescope buffers"; + key = "fb"; + options = { + silent = true; + }; + } + ]; + }; +} diff --git a/nix/modules/nixvim/plugins/default.nix b/nix/modules/nixvim/plugins/default.nix new file mode 100644 index 0000000..a34f2ee --- /dev/null +++ b/nix/modules/nixvim/plugins/default.nix @@ -0,0 +1,5 @@ +_: { + imports = [ + ./ + ] +} diff --git a/nix/modules/nixvim/plugins/mini/default.nix b/nix/modules/nixvim/plugins/mini/default.nix new file mode 100644 index 0000000..9ad3aff --- /dev/null +++ b/nix/modules/nixvim/plugins/mini/default.nix @@ -0,0 +1,3 @@ +_: { + notify: ./notify.nix +} diff --git a/nix/modules/nixvim/plugins/mini/notify.nix b/nix/modules/nixvim/plugins/mini/notify.nix new file mode 100644 index 0000000..1d5862c --- /dev/null +++ b/nix/modules/nixvim/plugins/mini/notify.nix @@ -0,0 +1,3 @@ +{ inputs, ... }: { + +} diff --git a/nix/modules/spicetify/home.nix b/nix/modules/spicetify/home.nix new file mode 100644 index 0000000..ac76ea9 --- /dev/null +++ b/nix/modules/spicetify/home.nix @@ -0,0 +1,28 @@ +{ inputs, pkgs, ... }: +let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}; +in { + imports = [ + inputs.spicetify-nix.homeManagerModules.default + ]; + programs.spicetify = { + enable = true; + + enabledExtensions = with spicePkgs.extensions; [ + adblock + hidePodcasts + shuffle # shuffle+ (special characters are sanitized out of extension names) + ]; + enabledCustomApps = with spicePkgs.apps; [ + newReleases + # ncsVisualizer + ]; + enabledSnippets = with spicePkgs.snippets; [ + # rotatingCoverart + pointer + ]; + + theme = spicePkgs.themes.catppuccin; + colorScheme = "mocha"; + }; +} diff --git a/nix/modules/stylix/home.nix b/nix/modules/stylix/home.nix index 0de7a81..b10ce34 100644 --- a/nix/modules/stylix/home.nix +++ b/nix/modules/stylix/home.nix @@ -11,12 +11,13 @@ in { imports = [ - #./shared.nix + ./shared.nix inputs.stylix.homeModules.stylix ]; config = { stylix.enable = true; - stylix.targets.hyprland.enable = true; + stylix.autoEnable = false; # honestly, fuck stylix; + stylix.targets.gtk.enable = true; + stylix.targets.qt.enable = true; }; - } diff --git a/nix/modules/stylix/nixos.nix b/nix/modules/stylix/nixos.nix index 5f7852b..8125ee8 100644 --- a/nix/modules/stylix/nixos.nix +++ b/nix/modules/stylix/nixos.nix @@ -16,6 +16,7 @@ in ]; config = { stylix.enable = true; + #stylix.targets.tmux.enable = false; }; } diff --git a/nix/modules/stylix/shared.nix b/nix/modules/stylix/shared.nix index e3b964c..5e446cf 100644 --- a/nix/modules/stylix/shared.nix +++ b/nix/modules/stylix/shared.nix @@ -9,24 +9,7 @@ ]; stylix = { enable = true; - # image = ./wp.jpg; - # image = lib.mkDefault ./wp.jpg; polarity = "dark"; - - # base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-mirage.yaml"; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/horizon-dark.yaml"; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/darkviolet.yaml"; - # base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/bright.yaml"; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/eris.yaml"; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/framer.yaml"; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/uwunicorn.yaml"; - # base16Scheme = "${pkgs.base16-schemes}/share/themes/tarot.yaml"; - - # base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/framer.yaml"; - - # base16Scheme = lib.mkDefault "${pkgs.base24-schemes}/share/themes/tokyodark-terminal.yaml"; - - # base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/tokyodark-terminal.yaml"; base16Scheme = ./theme.yml; }; # stylix.override = { diff --git a/nix/modules/theme/default.nix b/nix/modules/theme/default.nix new file mode 100644 index 0000000..4bf7f69 --- /dev/null +++ b/nix/modules/theme/default.nix @@ -0,0 +1,3 @@ +_: { + home: ./home.nix +} diff --git a/nix/modules/theme/home.nix b/nix/modules/theme/home.nix new file mode 100644 index 0000000..00425d4 --- /dev/null +++ b/nix/modules/theme/home.nix @@ -0,0 +1,9 @@ +{ inputs, ... }: { + services.dunst = { + settings = { + global = { + font = "Noto Nerd Font 8"; + }; + }; + }; +} diff --git a/nix/modules/tmux/home.nix b/nix/modules/tmux/home.nix new file mode 100644 index 0000000..1d0a70c --- /dev/null +++ b/nix/modules/tmux/home.nix @@ -0,0 +1,15 @@ +{ inputs, pkgs, fetchFromGitHub, ... }: +{ + programs.tmux = { + enable = true; + plugins = with pkgs.tmuxPlugins; [ + sensible + minimal-tmux-status + ]; + extraConfig = '' +set-option -g default-terminal "tmux-256color" +set -g status-bg black +set -g status-fg white + ''; + }; +} diff --git a/nvim/config/autosession.lua b/nvim/config/autosession.lua deleted file mode 100755 index db504d6..0000000 --- a/nvim/config/autosession.lua +++ /dev/null @@ -1,68 +0,0 @@ -local defaults = { - -- Saving / restoring - enabled = true, -- Enables/disables auto creating, saving and restoring - auto_save = true, -- Enables/disables auto saving session on exit - auto_restore = true, -- Enables/disables auto restoring session on start - auto_create = true, -- Enables/disables auto creating new session files. Can be a function that returns true if a new session file should be allowed - auto_restore_last_session = false, -- On startup, loads the last saved session if session for cwd does not exist - cwd_change_handling = false, -- Automatically save/restore sessions when changing directories - single_session_mode = false, -- Enable single session mode to keep all work in one session regardless of cwd changes. When enabled, prevents creation of separate sessions for different directories and maintains one unified session. Does not work with cwd_change_handling - - -- Filtering - suppressed_dirs = nil, -- Suppress session restore/create in certain directories - allowed_dirs = nil, -- Allow session restore/create in certain directories - bypass_save_filetypes = nil, -- List of filetypes to bypass auto save when the only buffer open is one of the file types listed, useful to ignore dashboards - close_filetypes_on_save = { "checkhealth" }, -- Buffers with matching filetypes will be closed before saving - close_unsupported_windows = true, -- Close windows that aren't backed by normal file before autosaving a session - preserve_buffer_on_restore = nil, -- Function that returns true if a buffer should be preserved when restoring a session - - -- Git / Session naming - git_use_branch_name = false, -- Include git branch name in session name - git_auto_restore_on_branch_change = false, -- Should we auto-restore the session when the git branch changes. Requires git_use_branch_name - custom_session_tag = nil, -- Function that can return a string to be used as part of the session name - - -- Deleting - auto_delete_empty_sessions = true, -- Enables/disables deleting the session if there are only unnamed/empty buffers when auto-saving - purge_after_minutes = nil, -- Sessions older than purge_after_minutes will be deleted asynchronously on startup, e.g. set to 14400 to delete sessions that haven't been accessed for more than 10 days, defaults to off (no purging), requires >= nvim 0.10 - - -- Saving extra data - save_extra_data = nil, -- Function that returns extra data that should be saved with the session. Will be passed to restore_extra_data on restore - restore_extra_data = nil, -- Function called when there's extra data saved for a session - - -- Argument handling - args_allow_single_directory = true, -- Follow normal session save/load logic if launched with a single directory as the only argument - args_allow_files_auto_save = false, -- Allow saving a session even when launched with a file argument (or multiple files/dirs). It does not load any existing session first. Can be true or a function that returns true when saving is allowed. See documentation for more detail - - -- Misc - log_level = "error", -- Sets the log level of the plugin (debug, info, warn, error). - root_dir = vim.fn.stdpath("data") .. "/sessions/", -- Root dir where sessions will be stored - show_auto_restore_notif = false, -- Whether to show a notification when auto-restoring - restore_error_handler = nil, -- Function called when there's an error restoring. By default, it ignores fold errors otherwise it displays the error and returns false to disable auto_save - continue_restore_on_error = true, -- Keep loading the session even if there's an error - lsp_stop_on_restore = false, -- Should language servers be stopped when restoring a session. Can also be a function that will be called if set. Not called on autorestore from startup - lazy_support = true, -- Automatically detect if Lazy.nvim is being used and wait until Lazy is done to make sure session is restored correctly. Does nothing if Lazy isn't being used - legacy_cmds = true, -- Define legacy commands: Session*, Autosession (lowercase s), currently true. Set to false to prevent defining them - - ---@type SessionLens - session_lens = { - picker = nil, -- "telescope"|"snacks"|"fzf"|"select"|nil Pickers are detected automatically but you can also set one manually. Falls back to vim.ui.select - load_on_setup = true, -- Only used for telescope, registers the telescope extension at startup so you can use :Telescope session-lens - picker_opts = nil, -- Table passed to Telescope / Snacks / Fzf-Lua to configure the picker. See below for more information - - ---@type SessionLensMappings - mappings = { - -- Mode can be a string or a table, e.g. {"i", "n"} for both insert and normal mode - delete_session = { "i", "" }, -- mode and key for deleting a session from the picker - alternate_session = { "i", "" }, -- mode and key for swapping to alternate session from the picker - copy_session = { "i", "" }, -- mode and key for copying a session from the picker - }, - - ---@type SessionControl - session_control = { - control_dir = vim.fn.stdpath("data") .. "/auto_session/", -- Auto session control dir, for control files, like alternating between two sessions with session-lens - control_filename = "session_control.json", -- File name of the session control file - }, - }, -} - --- require("auto-session").setup(defaults) diff --git a/nvim/config/lazygit.lua b/nvim/config/lazygit.lua deleted file mode 100755 index 6e53f99..0000000 --- a/nvim/config/lazygit.lua +++ /dev/null @@ -1,2 +0,0 @@ -require('lazygit') -vim.keymap.set('n', "lg", "LazyGit", { desc = "LazyGit" }) diff --git a/nvim/config/melange.lua b/nvim/config/melange.lua deleted file mode 100755 index c1ad5c7..0000000 --- a/nvim/config/melange.lua +++ /dev/null @@ -1 +0,0 @@ -vim.cmd.colorscheme 'melange' diff --git a/nvim/config/mini.comment.lua b/nvim/config/mini.comment.lua deleted file mode 100755 index 3ae981c..0000000 --- a/nvim/config/mini.comment.lua +++ /dev/null @@ -1 +0,0 @@ -require('mini.comment').setup() diff --git a/nvim/config/mini.completion.lua b/nvim/config/mini.completion.lua deleted file mode 100755 index ebfd62b..0000000 --- a/nvim/config/mini.completion.lua +++ /dev/null @@ -1 +0,0 @@ -require('mini.completion').setup() diff --git a/nvim/config/mini.cursorword.lua b/nvim/config/mini.cursorword.lua deleted file mode 100755 index a0228bb..0000000 --- a/nvim/config/mini.cursorword.lua +++ /dev/null @@ -1 +0,0 @@ -require('mini.cursorword').setup() diff --git a/nvim/config/mini.notify.lua b/nvim/config/mini.notify.lua deleted file mode 100755 index 8f04c0c..0000000 --- a/nvim/config/mini.notify.lua +++ /dev/null @@ -1,8 +0,0 @@ -local notify = require('mini.notify') -require('mini.notify').setup() -vim.notify = notify.make_notify({ - ERROR = { duration = 10000 }, - WARN = { duration = 4000 }, - INFO = { duration = 3000 } -}) -vim.notify('meow'); diff --git a/nvim/config/mini.sessions.lua b/nvim/config/mini.sessions.lua deleted file mode 100755 index f83339b..0000000 --- a/nvim/config/mini.sessions.lua +++ /dev/null @@ -1,27 +0,0 @@ -local settings = { - autoread = false, - - -- Whether to write currently read session before leaving it - autowrite = true, - - -- Directory where global sessions are stored (use `''` to disable) - directory = "~/.config/nvim/sessions/", - - -- File for local session (use `''` to disable) - file = 'Session.vim', - - -- Whether to force possibly harmful actions (meaning depends on function) - force = { read = false, write = true, delete = false }, - - -- Hook functions for actions. Default `nil` means 'do nothing'. - hooks = { - -- Before successful action - pre = { read = nil, write = nil, delete = nil }, - -- After successful action - post = { read = nil, write = nil, delete = nil }, - }, - - -- Whether to print session path after action - verbose = { read = false, write = true, delete = true }, -} -require('mini.sessions').setup(settings) diff --git a/nvim/config/mini.starter.lua b/nvim/config/mini.starter.lua deleted file mode 100755 index 6cb5eed..0000000 --- a/nvim/config/mini.starter.lua +++ /dev/null @@ -1 +0,0 @@ -require('mini.starter').setup() diff --git a/nvim/config/mini.statusline.lua b/nvim/config/mini.statusline.lua deleted file mode 100755 index 4bdfd80..0000000 --- a/nvim/config/mini.statusline.lua +++ /dev/null @@ -1 +0,0 @@ -require('mini.statusline').setup() diff --git a/nvim/config/mini.tabline.lua b/nvim/config/mini.tabline.lua deleted file mode 100755 index 16cc1dd..0000000 --- a/nvim/config/mini.tabline.lua +++ /dev/null @@ -1,12 +0,0 @@ -function meow(buf_id, label) - local suffix = vim.bo[buf_id].modified and '+ ' or '| ' - local prefix = '' - return prefix .. MiniTabline.default_format(buf_id, label) .. suffix -end - - -require('mini.tabline').setup({ - show_icons = true, - format = meow, - tabpage_section = 'left', -}) diff --git a/nvim/config/nvim-tree.lua b/nvim/config/nvim-tree.lua deleted file mode 100755 index 92353b9..0000000 --- a/nvim/config/nvim-tree.lua +++ /dev/null @@ -1 +0,0 @@ -require('nvim-tree').setup() diff --git a/nvim/config/presisted.lua b/nvim/config/presisted.lua deleted file mode 100755 index 33dd896..0000000 --- a/nvim/config/presisted.lua +++ /dev/null @@ -1,23 +0,0 @@ -require("persisted").setup({ - save_dir = vim.fn.expand(vim.fn.stdpath("data") .. "/sessions/"), - autoload = false, - autosave = true, - telescope = { - mappings = { -- Mappings for managing sessions in Telescope - copy_session = "", - change_branch = "", - delete_session = "", - }, - icons = { -- icons displayed in the Telescope picker - selected = " ", - dir = " ", - branch = " ", - }, - }, - follow_cwd = true, -- Change the session file to match any change in the cwd? - use_git_branch = true, -- Include the git branch in the session file name? -}) - - - - diff --git a/nvim/config/sessions.lua b/nvim/config/sessions.lua deleted file mode 100755 index 6a740f8..0000000 --- a/nvim/config/sessions.lua +++ /dev/null @@ -1,5 +0,0 @@ -require("sessions").setup({ - events = { "WinEnter" }, - session_filepath = "~/dotfiles/nvim/sessions/", - absolute = false, -}) diff --git a/nvim/config/telescope-filebrowser.lua b/nvim/config/telescope-filebrowser.lua deleted file mode 100755 index d3e4ecc..0000000 --- a/nvim/config/telescope-filebrowser.lua +++ /dev/null @@ -1,22 +0,0 @@ -require("telescope").setup { - extensions = { - file_browser = { - theme = "ivy", - -- disables netrw and use telescope-file-browser in its place - hijack_netrw = true, - hidden = { file_browser = true, folder_browser = true }, - mappings = { - ["i"] = { - -- your custom insert mode mappings - }, - ["n"] = { - -- your custom normal mode mappings - }, - }, - }, - }, -} --- To get telescope-file-browser loaded and working with telescope, --- you need to call load_extension, somewhere after setup function: -require("telescope").load_extension "file_browser" -vim.keymap.set("n", "fv", ":Telescope file_browser") diff --git a/nvim/config/telescope.lua b/nvim/config/telescope.lua deleted file mode 100755 index 002551b..0000000 --- a/nvim/config/telescope.lua +++ /dev/null @@ -1,23 +0,0 @@ -local telescope = require('telescope') -local actions = require('telescope.actions') - -telescope.setup({ - defaults = { - ... - }, - extensions = { - persisted = { - layout_config = { width = 0.55, height = 0.55 } - } - } -}) -telescope.load_extension("persisted") -local builtin = require('telescope.builtin') -local action_state = require('telescope.actions.state') -local actions = require('telescope.actions') - -vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) -vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) -vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) -vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) -vim.keymap.set('n', 'fs', 'Telescope persisted') diff --git a/nvim/config/wakatime.lua b/nvim/config/wakatime.lua deleted file mode 100755 index 37b8d8c..0000000 --- a/nvim/config/wakatime.lua +++ /dev/null @@ -1 +0,0 @@ --- require('vim.wakatime') diff --git a/nvim/init.lua b/nvim/init.lua deleted file mode 100755 index ac3ce1f..0000000 --- a/nvim/init.lua +++ /dev/null @@ -1,38 +0,0 @@ -require("doloro") - -vim.opt.number = true -vim.opt.bg = light -vim.opt.tabstop = 2 -vim.opt.shiftwidth = 2 -vim.opt.termguicolors = true -vim.g.mapleader = ' ' - -vim.pack.add{ - { src = "https://github.com/comfysage/lynn.nvim", name = "lynn" } -} - -local pack = require("lynn") -pack.setup("doloro.plugins") - --- add lsp's as i need -vim.lsp.enable({'lua_ls', 'rust_analyzer', 'html'}) - -opts = { - settings = { - html = { - format = { - templating = true, - wrapLineLength = 120, - wrapAttributes = 'auto', - }, - hover = { - documentation = true, - references = true, - }, - }, - }, -} - --- vim.notify('config loaded', vim.log.levels.INFO) - -vim.keymap.set('n', 'v', ':NvimTreeFocus') diff --git a/nvim/init.lua b/nvim/init.lua new file mode 120000 index 0000000..e9fc628 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1 @@ +/nix/store/pgyxzk4kwmbs72sgg51bfqpn2304brq6-home-manager-files/.config/nvim/init.lua \ No newline at end of file diff --git a/nvim/init.lua.old b/nvim/init.lua.old deleted file mode 100755 index ecbfb76..0000000 --- a/nvim/init.lua.old +++ /dev/null @@ -1,66 +0,0 @@ -vim.opt.number = true -vim.opt.bg = light -vim.opt.tabstop = 2 -vim.opt.shiftwidth = 2 -vim.opt.termguicolors = true -vim.g.mapleader = ' ' - -vim.pack.add{ - { src = 'https://github.com/neovim/nvim-lspconfig' }, - { src = 'https://github.com/echasnovski/mini.nvim' }, - { src = 'https://github.com/nvim-tree/nvim-tree.lua' }, -} - -require('mini.starter').setup() - -local function pack_clean() - local active_plugins = {} - local unused_plugins = {} - - for _, plugin in ipairs(vim.pack.get()) do - active_plugins[plugin.spec.name] = plugin.active - end - - for _, plugin in ipairs(vim.pack.get()) do - if not active_plugins[plugin.spec.name] then - table.insert(unused_plugins, plugin.spec.name) - end - end - - if #unused_plugins == 0 then - print("No unused plugins.") - return - end - - local choice = vim.fn.confirm("Remove unused plugins?", "&Yes\n&No", 2) - if choice == 1 then - vim.pack.del(unused_plugins) - end -end - -pack_clean() - --- add lsp's as i need -vim.lsp.enable('lua_ls', 'rust_analyzer', 'superhtml') - -local notify = require('mini.notify') -require('mini.notify').setup() -vim.notify = notify.make_notify({ - ERROR = { duration = 10000 }, - WARN = { duration = 4000 }, - INFO = { duration = 3000 } -}) --- vim.notify('config loaded', vim.log.levels.INFO) - -require('mini.cursorword').setup() -require('mini.tabline').setup() -require('mini.statusline').setup() -require('mini.completion').setup() -require('mini.comment').setup() --- require('mini.sessions').setup() - -local nvim_tree = require('nvim-tree') -nvim_tree.setup({ - disable_netrw = true, -}) -vim.keymap.set('n', 'f', ':NvimTreeFocus') diff --git a/nvim/lua/doloro/init.lua b/nvim/lua/doloro/init.lua deleted file mode 100755 index 58ae155..0000000 --- a/nvim/lua/doloro/init.lua +++ /dev/null @@ -1 +0,0 @@ -vim.o.sessionoptions = "buffers,curdir,folds,globals,tabpages,winpos,winsize" diff --git a/nvim/lua/doloro/plugins.lua b/nvim/lua/doloro/plugins.lua deleted file mode 100755 index e098312..0000000 --- a/nvim/lua/doloro/plugins.lua +++ /dev/null @@ -1,22 +0,0 @@ -return { - "neovim/nvim-lspconfig", - "nvim-lua/plenary.nvim", - -- { "nvim-tree/nvim-tree.lua", event = "UIEnter", name="nvim-tree" }, - -- mini stuff - "nvim-mini/mini.notify", - "nvim-mini/mini.cursorword", - -- "nvim-mini/mini.tabline", - "nvim-mini/mini.statusline", - "nvim-mini/mini.completion", - { "nvim-telescope/telescope.nvim", event = "BufReadPre", name="telescope"}, - "nvim-mini/mini.comment", - { "kdheepak/lazygit.nvim", name="lazygit" }, - -- "nvim-mini/mini.starter", - -- "nvim-mini/mini.sessions", - -- "natecraddock/sessions.nvim" - { "olimorris/persisted.nvim", event = "BufReadPre", name="persisted" }, - { "wakatime/vim-wakatime", name="wakatime" }, - { "nvim-telescope/telescope-file-browser.nvim", name="telescope-filebrowser" }, - { "savq/melange-nvim", name="melange" } - -- { "rmagatti/auto-session", name="autosession"}, -}