From ef1cf270f5f472510fe09da35a8df69d749afa54 Mon Sep 17 00:00:00 2001 From: meml0rz Date: Thu, 14 Nov 2024 23:34:03 +0100 Subject: [PATCH] kekl --- configuration.nix | 2 + flake.nix | 70 ++++++++++++++++++--------------- modules/home.nix | 3 +- modules/nix/bspwm/alacritty.nix | 45 +++++++++++++++++++++ modules/nix/bspwm/bspwm.nix | 19 +++++---- modules/nix/bspwm/default.nix | 1 + modules/nix/nvim/cmp.nix | 35 ++--------------- modules/nix/nvim/default.nix | 2 +- modules/nix/nvim/lsp.nix | 3 +- modules/nix/user.nix | 69 +++++++++++++++++++++++++++----- 10 files changed, 164 insertions(+), 85 deletions(-) create mode 100644 modules/nix/bspwm/alacritty.nix diff --git a/configuration.nix b/configuration.nix index 51bc05e..91c1422 100644 --- a/configuration.nix +++ b/configuration.nix @@ -42,6 +42,7 @@ xserver = { enable = true; displayManager.startx.enable = true; + windowManager.bspwm.enable = true; }; pipewire = { enable = true; @@ -110,6 +111,7 @@ xdg-desktop-portal-hyprland grim slurp + feh # cli neofetch diff --git a/flake.nix b/flake.nix index 7d23d30..c19d693 100644 --- a/flake.nix +++ b/flake.nix @@ -1,37 +1,45 @@ { - description = "My first flake!"; + description = "My first flake!"; - inputs = { - nixpkgs-stable.url = "nixpkgs/nixos-24.05"; - nixpkgs.url = "nixpkgs/nixos-unstable"; - home-manager.url = "github:nix-community/home-manager/release-24.05"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - nixvim = { - url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + inputs = { + nixpkgs-stable.url = "nixpkgs/nixos-24.05"; + nixpkgs.url = "nixpkgs/nixos-unstable"; + home-manager.url = "github:nix-community/home-manager/release-24.05"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = inputs@{ nixpkgs, nixpkgs-stable, home-manager, nixvim, ... }: { - nixosConfigurations = { - poggers = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./configuration.nix - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.fabian = import ./modules/home.nix; - home-manager.extraSpecialArgs = { - inherit nixvim; - inherit inputs; - }; - } - ]; - }; - specialArgs = { + }; + outputs = + inputs@{ + nixpkgs, + nixpkgs-stable, + home-manager, + nixvim, + ... + }: + { + nixosConfigurations = { + poggers = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.fabian = import ./modules/home.nix; + home-manager.extraSpecialArgs = { + inherit nixvim; inherit inputs; - }; + }; + } + ]; }; - }; + specialArgs = { + inherit inputs; + }; + }; + }; } diff --git a/modules/home.nix b/modules/home.nix index 2af1973..a7ce113 100644 --- a/modules/home.nix +++ b/modules/home.nix @@ -3,8 +3,7 @@ imports = [ ./nix/user.nix ./nix/nvim/default.nix - - ./nix/hypr/default.nix + #./nix/hypr/default.nix ./nix/bspwm/default.nix ]; diff --git a/modules/nix/bspwm/alacritty.nix b/modules/nix/bspwm/alacritty.nix new file mode 100644 index 0000000..8c8b061 --- /dev/null +++ b/modules/nix/bspwm/alacritty.nix @@ -0,0 +1,45 @@ +{ config, pkgs, ... }: +{ + programs = { + alacritty = { + enable = true; + settings = { + color = { + primary = { + background = "#282828"; + foreground = "#ebdbb2"; + }; + normal = { + black = "#282828"; + red = "#cc241d"; + green = "#98971a"; + yellow = "#d79921"; + blue = "#458588"; + magenta = "#b16286"; + cyan = "#689d6a"; + white = "#a89984"; + }; + bright = { + black = "#928374"; + red = "#fb4934"; + green = "#b8bb26"; + yellow = "#fabd2f"; + blue = "#83a598"; + magenta = "#d3869b"; + cyan = "#8ec07c"; + white = "#ebdbb2"; + }; + }; + window = { + decorations = "Full"; + }; + font = { + size = "16"; + normal = { + family = "Dina"; + }; + }; + }; + }; + }; +} diff --git a/modules/nix/bspwm/bspwm.nix b/modules/nix/bspwm/bspwm.nix index 915a552..7ea39ec 100644 --- a/modules/nix/bspwm/bspwm.nix +++ b/modules/nix/bspwm/bspwm.nix @@ -6,11 +6,13 @@ keybindings = { "super + Return" = "${pkgs.alacritty}/bin/alacritty"; "super + space" = "${pkgs.rofi}/bin/rofi -show drun"; + "super + q" = "bspc node -k"; - "super + shift + r" = "bspc restart"; + "super + shift + r" = "bspc wm -r"; "super + shift + space" = "bspc node focused -t \~floating"; "super + {1,2,3,4,5,6,7,8,9,0}" = "bspc desktop -f {1,2,3,4,5,6,7,8,9,0}"; "super + shift + {1-9,0}" = "bspc node -d '^{1-9,10}'"; + "super + Escape" = "pkill -USR1 -x sxhkd"; }; }; }; @@ -20,17 +22,18 @@ border_width = 2; gapless_monocle = false; split_ratio = 0.52; + window_gap = "10"; + focus_follows_pointer = true; + borderless_monocle = true; }; extraConfig = '' - feh --bg-fill ~/.wp/temple.png & - bspc config focus_follows_pointer false + sxhkd -c ~/.config/sxhkd/sxhkdrc & + ${pkgs.feh}/bin/feh --bg-fill ~/.wp/temple.png & + bspc monitor -d 1 2 3 4 5 6 7 8 9 0 + + ''; rules = { - "gimp" = { - desktop = "^8"; - state = "floating"; - follow = true; - }; "kupfer.py" = { focus = true; }; diff --git a/modules/nix/bspwm/default.nix b/modules/nix/bspwm/default.nix index 71af5a6..547d964 100644 --- a/modules/nix/bspwm/default.nix +++ b/modules/nix/bspwm/default.nix @@ -2,6 +2,7 @@ { imports = [ ./bspwm.nix + ./alacritty.nix ]; #home.file = { diff --git a/modules/nix/nvim/cmp.nix b/modules/nix/nvim/cmp.nix index 528f408..30a91af 100644 --- a/modules/nix/nvim/cmp.nix +++ b/modules/nix/nvim/cmp.nix @@ -31,19 +31,9 @@ in completeopt = "menu,menuone,noinsert,noselect"; keyword_length = 1; }; - sorting = { - comparators = [ - "require('cmp.config.compare').offset" - "require('cmp.config.compare').exact" - "require('cmp.config.compare').score" - "require('clangd_extensions.cmp_scores')" - "require('cmp.config.compare').recently_used" - "require('cmp.config.compare').locality" - "require('cmp.config.compare').kind" - "require('cmp.config.compare').length" - "require('cmp.config.compare').order" - ]; - }; + sorting = + { + }; mapping = { "".__raw = '' cmp.mapping(function(fallback) @@ -55,7 +45,7 @@ in end, { "i", "s" }) ''; - "".__raw = '' + "".__raw = '' cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() @@ -64,12 +54,10 @@ in end end, { "i", "s" }) ''; - "" = "cmp.mapping.scroll_docs(-4)"; "" = "cmp.mapping.scroll_docs(4)"; "" = "cmp.mapping.complete()"; "" = "cmp.mapping.abort()"; - "" = "cmp.mapping.abort()"; "" = "cmp.mapping.confirm({ select = false })"; }; @@ -98,25 +86,10 @@ in inherit get_bufnrs; }; } - { - name = "luasnip"; - priority = 750; - } - { - name = "buffer"; - priority = 500; - option = { - inherit get_bufnrs; - }; - } { name = "path"; priority = 300; } - { - name = "cmdline"; - priority = 300; - } ]; }; }; diff --git a/modules/nix/nvim/default.nix b/modules/nix/nvim/default.nix index 3d11af2..1043322 100644 --- a/modules/nix/nvim/default.nix +++ b/modules/nix/nvim/default.nix @@ -18,6 +18,6 @@ ]; programs.nixvim = { enable = true; - colorschemes.oxocarbon.enable = true; + colorschemes.gruvbox.enable = true; }; } diff --git a/modules/nix/nvim/lsp.nix b/modules/nix/nvim/lsp.nix index 2a166c5..4470554 100644 --- a/modules/nix/nvim/lsp.nix +++ b/modules/nix/nvim/lsp.nix @@ -21,9 +21,8 @@ lua_ls = { enable = true; }; - rnix = { + nixd = { enable = true; - package = null; extraOptions = { nixos = { expr = "(builtins.getFlake \"/etc/nixos\").nixosConfigurations.aurelionite.options"; diff --git a/modules/nix/user.nix b/modules/nix/user.nix index 86ad4c3..80005ec 100644 --- a/modules/nix/user.nix +++ b/modules/nix/user.nix @@ -4,22 +4,71 @@ bash = { enable = true; enableCompletion = true; - bashrcExtra = '' - PS1="\[\e[35m\][\u@\h:\w] % \[\e[0m\]" - eval "$(${pkgs.fzf}/bin/fzf --bash)" - alias rm="rm -rv" - alias mv="mv -v" - alias ls="${pkgs.eza}/bin/eza -l --icons --absolute" - alias mkdir="mkdir -pv" - alias http="python3 -m http.server 1337" - alias update="sudo nixos-rebuild switch --flake /etc/nixos --impure" + sessionVariables = { + DEVKITPRO = "/opt/devkitpro"; + DEVKITPPC = "/opt/devkitpro/devkitPPC"; + DEVKITA64 = "/opt/devkitpro/devkitA64"; + DEVKITARM = "/opt/devkitpro/devkitARM"; + PATH = "/opt/devkitpro/tools/bin:$PATH"; + }; + shellAliases = { + http = "python3 -m http.server"; + rm = "rm -rfv"; + ls = "${pkgs.eza}/bin/eza -l --icons"; + cp = "cp -rv"; + mv = "mv -v"; + mkdir = "mkdir -pv"; + update = "sudo nixos-rebuild switch"; + }; + shellOptions = [ + "histappend" + "checkwinsize" + "extglob" + "globstar" + "checkjobs" + ]; + initExtra = '' + eval "$(fzf --bash)" + PS1='\[\e[35m\][\u@\h:\w] % \[\e[0m\]' + + if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then + tmux attach-session -t default || tmux new-session -s default + fi + ''; }; - git = { enable = true; userName = "meml0rz"; userEmail = "meml0rz"; }; + tmux = { + enable = true; + plugins = with pkgs; [ + tmuxPlugins.net-speed + tmuxPlugins.cpu + tmuxPlugins.battery + tmuxPlugins.gruvbox + ]; + disableConfirmationPrompt = true; + mouse = true; + keyMode = "vi"; + extraConfig = '' + unbind C-b + set-option -g prefix C-a + bind-key C-a send-prefix + bind \\ split-window -h + bind - split-window -v + unbind '"' + unbind % + + bind -n M-Left select-pane -L + bind -n M-Right select-pane -R + bind -n M-Up select-pane -U + bind -n M-Down select-pane -D + + set -g status-position top + ''; + }; }; }