diff --git a/files/keyboard.kbd b/files/keyboard.kbd deleted file mode 100644 index 0d3a65c..0000000 --- a/files/keyboard.kbd +++ /dev/null @@ -1,71 +0,0 @@ -(defcfg - ;; For Linux - input (device-file "/dev/input/event0") - output (uinput-sink "My KMonad output") - fallthrough true - allow-cmd true -) - -(defsrc - esc mute vold volu prnt slck pause ins del home pgup - f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn - grv 1 2 3 4 5 6 7 8 9 0 - = bspc - tab q w e r t y u i o p [ ] ret - caps a s d f g h j k l ; ' \ - lsft 102d z x c v b n m , . / rsft - wkup lctl lmet lalt spc ralt cmps rctl back up fwd - left down rght -) -(deflayer base - caps mute vold volu prnt slck pause ins del home pgup - f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn - $ + [ { \( & = \) } ] + ! | bspc - tab ; , . p y f g c r l / ] ret - esc @a @o @e @u i d @h @t @n @s - \ - lsft 102d ' q j k x b m w v z rsft - wkup lctl lmet @tab @spc @bspc ret rctl back up fwd - left down rght -) -(deflayer num - caps mute vold volu prnt slck pause ins del home pgup - f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn - $ + [ { \( & = \) } ] + ! | bspc - tab ; 7 8 9 y f g c r l / ] ret - esc a 4 5 6 0 d h t n s - \ - lsft 102d ' 1 2 3 x b m w v z rsft - wkup lctl lmet tab spc bspc ret rctl back up fwd - left down rght -) -(deflayer symbol - caps mute vold volu prnt slck pause ins del home pgup - f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn - $ + [ { \( & = \) } ] + ! | bspc - ~ * ! % @ ^ f g c r l / ] ret - $ + [ { \( = d h t n s - \ - # 102d ` ] } \) & b m w v z rsft - wkup lctl lmet tab spc bspc ret rctl back up fwd - left down rght -) -(deflayer arrow - caps mute vold volu prnt slck pause ins del home pgup - f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn - $ + [ { \( & = \) } ] + ! | bspc - tab ; , . p y f g c r l / ] ret - esc @a @o @e @u i d @h @t @n @s - \ - lsft 102d ' q j k x b left down up right rsft - wkup lctl lmet tab @spc @bspc ret rctl back up fwd - left down rght -) -(defalias -a (tap-hold 200 a lalt) -o (tap-hold 200 o lmet) -e (tap-hold 200 e lsft) -u (tap-hold 200 u lctl) -h (tap-hold 200 h lctl) -t (tap-hold 200 t lsft) -n (tap-hold 200 n lmet) -s (tap-hold 200 s lalt) -spc (tap-hold 200 spc (layer-toggle num)) -bspc (tap-hold 200 bspc (layer-toggle symbol)) -tab (tap-hold 200 tab (layer-toggle arrow)) -) diff --git a/flake.lock b/flake.lock index 3309065..316e409 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,5 @@ { "nodes": { - "fabric-dwl": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1754514691, - "narHash": "sha256-/KgE/0DAMTOEIwubGoEcFSO3HP0peOdJEHoe7gOCO/8=", - "ref": "refs/heads/main", - "rev": "c35ba0afa76a7a7143bede61e4cb1caf63efc52e", - "revCount": 1329, - "type": "git", - "url": "https://codeberg.org/FabricSoul/dwl" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/FabricSoul/dwl" - } - }, "fenix": { "inputs": { "nixpkgs": [ @@ -48,11 +30,11 @@ ] }, "locked": { - "lastModified": 1754420989, - "narHash": "sha256-3e4wHzNwTMg7GaeLH9A091DMaO9AfFxUjpfqbddCUeo=", + "lastModified": 1751413152, + "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f38f25a44023a21a504bd3fd9d4f41c4a39f55c", + "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "type": "github" }, "original": { @@ -104,11 +86,11 @@ ] }, "locked": { - "lastModified": 1754503522, - "narHash": "sha256-V0iiDcYvNeMOP2FyfgC4H8Esx+JodXEl80lD4hFD4SI=", + "lastModified": 1753294394, + "narHash": "sha256-1Dfgq09lHZ8AdYB2Deu/mYP1pMNpob8CgqT5Mzo44eI=", "owner": "nix-community", "repo": "home-manager", - "rev": "13461dec40bf03d9196ff79d1abe48408268cc35", + "rev": "1fde6fb1be6cd5dc513dc1c287d69e4eb2de973e", "type": "github" }, "original": { @@ -118,6 +100,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "zen-browser", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "ixx": { "inputs": { "flake-utils": [ @@ -148,27 +151,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1754340878, - "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", + "lastModified": 1753151930, + "narHash": "sha256-XSQy6wRKHhRe//iVY5lS/ZpI/Jn6crWI8fQzl647wCg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cab778239e705082fe97bb4990e0d24c50924c04", + "rev": "83e677f31c84212343f4cc553bab85c2efcad60a", "type": "github" }, "original": { @@ -178,7 +165,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_2": { "locked": { "lastModified": 1710272261, "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", @@ -204,11 +191,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1754506651, - "narHash": "sha256-LcpDSjGtTVU0S+aWJPE3/8RONQV0q8dDuanfCj7mAW0=", + "lastModified": 1752976861, + "narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=", "owner": "nix-community", "repo": "nixvim", - "rev": "085ef66994f94226dd3d62921e1d48bf731b663a", + "rev": "0c50ed9349199219583cb1ed1a972d71e06039ec", "type": "github" }, "original": { @@ -228,11 +215,11 @@ ] }, "locked": { - "lastModified": 1754301638, - "narHash": "sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc=", + "lastModified": 1749730855, + "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", "owner": "NuschtOS", "repo": "search", - "rev": "a60091045273484c040a91f5c229ba298f8ecc27", + "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", "type": "github" }, "original": { @@ -245,7 +232,7 @@ "inputs": { "fenix": "fenix", "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "systems": "systems_4" }, "locked": { @@ -264,11 +251,11 @@ }, "root": { "inputs": { - "fabric-dwl": "fabric-dwl", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixvim": "nixvim", - "openapi-tui": "openapi-tui" + "openapi-tui": "openapi-tui", + "zen-browser": "zen-browser" } }, "rust-analyzer-src": { @@ -347,6 +334,27 @@ "repo": "default-linux", "type": "github" } + }, + "zen-browser": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1753069499, + "narHash": "sha256-YtgY0ueqKNrBma4Euu8WH23BhUkBujirJDMDE1KujnU=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "c64b94235ae24e3b9e01a08f0331d8bb0e5b037a", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a8dce29..b9ac030 100644 --- a/flake.nix +++ b/flake.nix @@ -17,10 +17,11 @@ openapi-tui = { url = "github:zaghaghi/openapi-tui"; }; - - fabric-dwl = { - url = "git+https://codeberg.org/FabricSoul/dwl"; - flake = true; + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + # IMPORTANT: we're using "libgbm" and is only available in unstable so ensure + # to have it up-to-date or simply don't specify the nixpkgs input + inputs.nixpkgs.follows = "nixpkgs"; }; }; @@ -29,9 +30,9 @@ nixpkgs, # nvidiaPkgs, home-manager, + zen-browser, nixvim, openapi-tui, - fabric-dwl, ... }: let lib = nixpkgs.lib; @@ -45,12 +46,6 @@ # }; in { nixosConfigurations = { - solaris = lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - ./hosts/solaris/default.nix - ]; - }; tatara = lib.nixosSystem { system = "x86_64-linux"; modules = [ @@ -71,16 +66,12 @@ homeConfigurations.fabric = home-manager.lib.homeManagerConfiguration { inherit pkgs; extraSpecialArgs = { - inherit nixvim openapi-tui; + inherit nixvim openapi-tui zen-browser; # deleted hyprpanel }; modules = [ ./home/fabric/default.nix - nixvim.homeModules.nixvim - ({pkgs, ...}: { - home.packages = [ - fabric-dwl.packages.${pkgs.system}.default - ]; - }) + nixvim.homeManagerModules.nixvim + # hyprpanel.homeManagerModules.hyprpanel ]; }; }; diff --git a/home/fabric/default.nix b/home/fabric/default.nix index 7223a92..5a1dd39 100644 --- a/home/fabric/default.nix +++ b/home/fabric/default.nix @@ -1,5 +1,6 @@ { nixvim, + zen-browser, # hyprpanel, pkgs, pkgsUnstable, @@ -9,8 +10,7 @@ imports = [ # Import program configurations ./programs/git.nix - # ./programs/kitty.nix - ./programs/foot.nix + ./programs/kitty.nix ./programs/nixvim.nix ./programs/tmux.nix ./programs/zsh.nix @@ -18,14 +18,12 @@ ./programs/yazi.nix # Import desktop configurations - # ./desktop/hyprland.nix - # ./desktop/hyprpanel.nix - # ./desktop/river.nix - # ./desktop/hyprpaper.nix - # ./desktop/hypridle.nix - # ./desktop/desktop.nix - ./desktop/waybar.nix - ./desktop/mako.nix + ./desktop/hyprland.nix + ./desktop/hyprpanel.nix + ./desktop/hyprpaper.nix + ./desktop/hypridle.nix + ./desktop/desktop.nix + zen-browser.homeModules.beta ]; # Home Manager needs a bit of information about you and the paths it should manage @@ -43,44 +41,102 @@ nixpkgs.config = { allowUnfree = true; }; + programs.zen-browser.enable = true; # Common packages used across your system home.packages = with pkgs; [ git lazygit - # kitty - # firefox + kitty + firefox + zen-browser mpv grim slurp wlsunset newsraft ghostty - wlr-randr - wmenu - foot - qutebrowser - ffmpeg - android-tools - wbg - emacs - ripgrep - fd - lsd - pulseaudio + nerd-fonts.dejavu-sans-mono + nerd-fonts.daddy-time-mono + nerd-fonts.d2coding + nerd-fonts.cousine + nerd-fonts.commit-mono + nerd-fonts.comic-shanns-mono + nerd-fonts.code-new-roman + nerd-fonts.caskaydia-mono + nerd-fonts.caskaydia-cove + nerd-fonts.blex-mono + nerd-fonts.bitstream-vera-sans-mono + nerd-fonts.bigblue-terminal + nerd-fonts.aurulent-sans-mono + nerd-fonts.arimo + nerd-fonts.anonymice + nerd-fonts.agave + nerd-fonts._3270 + nerd-fonts._0xproto + nerd-fonts.zed-mono + nerd-fonts.victor-mono + nerd-fonts.ubuntu-sans + nerd-fonts.ubuntu-mono + nerd-fonts.ubuntu + nerd-fonts.tinos + nerd-fonts.terminess-ttf + nerd-fonts.symbols-only + nerd-fonts.space-mono + nerd-fonts.shure-tech-mono + nerd-fonts.sauce-code-pro + nerd-fonts.roboto-mono + nerd-fonts.recursive-mono + nerd-fonts.proggy-clean-tt + nerd-fonts.profont + nerd-fonts.overpass + nerd-fonts.open-dyslexic + nerd-fonts.noto + nerd-fonts.mononoki + nerd-fonts.monoid + nerd-fonts.monofur + nerd-fonts.monaspace + nerd-fonts.meslo-lg + nerd-fonts.martian-mono + nerd-fonts.lilex + nerd-fonts.liberation + nerd-fonts.lekton + nerd-fonts.jetbrains-mono + nerd-fonts.iosevka-term-slab + nerd-fonts.iosevka-term + nerd-fonts.iosevka + nerd-fonts.intone-mono + nerd-fonts.inconsolata-lgc + nerd-fonts.inconsolata-go + nerd-fonts.inconsolata + nerd-fonts.im-writing + nerd-fonts.hurmit + nerd-fonts.heavy-data + nerd-fonts.hasklug + nerd-fonts.hack + nerd-fonts.gohufont + nerd-fonts.go-mono + nerd-fonts.geist-mono nerd-fonts.fira-mono + nerd-fonts.fira-code + nerd-fonts.fantasque-sans-mono + nerd-fonts.envy-code-r + nerd-fonts.droid-sans-mono + nerd-fonts.departure-mono + font-awesome wl-clipboard tmux + discord fzf zsh pavucontrol wofi + # hyprpanel alejandra rustup - zig tmuxPlugins.sensible tmuxPlugins.vim-tmux-navigator tmuxPlugins.onedark-theme @@ -89,10 +145,13 @@ go go-blueprint gccgo14 + hypridle dprint + code-cursor delve ldtk libresprite + gh btop leetgo gnumake @@ -105,15 +164,23 @@ zola unzip hugo + sass sshfs tree-sitter + heroic + gimp3 p7zip rar nodePackages.localtunnel typst + pnpm + nodejs_24 openssl psmisc air + pyfa + + google-chrome ]; # Enable home-manager diff --git a/home/fabric/desktop/mako.nix b/home/fabric/desktop/mako.nix deleted file mode 100644 index 377f93c..0000000 --- a/home/fabric/desktop/mako.nix +++ /dev/null @@ -1,30 +0,0 @@ -{...}: { - services.mako = { - enable = true; - settings = { - "actionable=true" = { - anchor = "top-left"; - }; - actions = true; - anchor = "top-right"; - background-color = "#393552"; - text-color = "#e0def4"; - border-color = "#56526e"; - border-radius = 0; - default-timeout = 10000; - # font = "monospace 10"; - height = 100; - icons = true; - ignore-timeout = false; - layer = "top"; - margin = 10; - markup = true; - width = 300; - }; - extraConfig = '' - progress-color=over #3e8fb0 - [urgency=high] - border-color=#eb6f92 - ''; - }; -} diff --git a/home/fabric/desktop/waybar.nix b/home/fabric/desktop/waybar.nix deleted file mode 100644 index e345e46..0000000 --- a/home/fabric/desktop/waybar.nix +++ /dev/null @@ -1,125 +0,0 @@ -{pkgs, ...}: { - programs.waybar = { - enable = true; - package = pkgs.waybar; - settings = { - mainBar = { - layer = "top"; - position = "top"; - height = 24; - modules-left = ["custom/wmenu"]; - modules-right = ["cpu" "custom/cputemp" "temperature" "memory" "custom/gputemp" "battery" "network" "pulseaudio" "clock" "tray"]; - - temperature = { - format = "{temperature}°C"; - }; - - battery = { - format = "󰁹 {capacity}%"; - }; - - "custom/wmenu" = { - format = ""; - on-click = "wmenu"; - tooltip = false; - }; - - # "custom/fcitx" = { - # format = ""; # Nerd Font keyboard symbol - # tooltip = false; - # }; - - cpu = { - format = " CPU {usage}%"; - }; - - memory = { - format = " RAM {used}Gib"; - }; - - "custom/cputemp" = { - interval = 5; - exec = '' - # This script finds the line with "Tctl:" or "Package id 0:", - # prints the last field on that line (which is the temperature), - # and removes the extra characters. This is very reliable. - temp_str=$(sensors | grep -E 'Tctl:|Package id 0:' | awk '{print $NF}') - temp_val=$(echo "$temp_str" | tr -d '+°C') - - if [ -n "$temp_val" ]; then - printf '{"text": "%.0f°C", "tooltip": "CPU Temperature: %.0f°C"}' "$temp_val" "$temp_val" - else - echo '{"text": "N/A"}' - fi - ''; - "return-type" = "json"; - format = "{}"; # The {} will be replaced by the "text" field - }; - - "custom/gputemp" = { - exec = "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader"; - interval = 5; - format = "󰢮 GPU Temp {}°C"; - }; - - network = { - format-wifi = "󰤨 {signalStrength}%"; # nf-md-wifi - format-ethernet = "󰈀 Connected"; # nf-md-ethernet - format-disconnected = "󰤮 Disconnected"; # nf-md-wifi_off - tooltip-format = "{ifname} via {gwaddr} "; # nf-fa-server - on-click = "nm-connection-editor"; # Opens network manager on click - }; - - pulseaudio = { - format = "{icon} {volume}%"; - format-muted = "󰸈 Muted"; # Using a dedicated mute icon (nf-md-volume_mute) - format-icons = { - headphone = ""; - headset = ""; - # A specific icon for when the audio is muted - muted = "󰸈"; - # Icons for different volume levels (0-33%, 34-66%, 67-100%) - default = ["" "" ""]; # Low, Medium, High - }; - tooltip-format = "{desc} | {volume}%"; - on-click = "pavucontrol"; - on-click-middle = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; # Middle-click to mute/unmute - on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +5%"; - on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -5%"; - }; - - clock = { - format = "{:%H:%M}"; - tooltip-format = "{:%A, %B %d, %Y}"; - }; - - tray = { - spacing = 10; - }; - }; - }; - - style = '' - * { - font-family: monospace; - font-size: 12px; - padding: 0; - margin: 0; - } - window#waybar { - background: #232136; - color: #e0def4; - } - #custom-wmenu, #cpu, #memory, #custom-cputemp, #custom-gputemp, #clock, #pulseaudio, #network, #tray { - padding: 0 10px; - } - ''; - }; - - # Ensure dependencies for Waybar and temperature scripts - home.packages = with pkgs; [ - libappindicator-gtk3 # For systray support - lm_sensors # For CPU temperature - wmenu # Ensure wmenu is available - ]; -} diff --git a/home/fabric/programs/foot.nix b/home/fabric/programs/foot.nix deleted file mode 100644 index 43a3922..0000000 --- a/home/fabric/programs/foot.nix +++ /dev/null @@ -1,51 +0,0 @@ -{...}: { - programs.foot = { - enable = true; - settings = { - # This is the main section, equivalent to [main] in foot.ini - main = { - font = "FiraMono Nerd Font Mono:size=12"; - term = "foot"; - dpi-aware = "yes"; # Use "yes" or "no", or boolean true/false - }; - - # Set scrollback buffer size - scrollback = { - lines = 5000; - }; - - # Hide the mouse cursor when typing - mouse = { - hide-when-typing = "yes"; - }; - - # Color scheme (Catppuccin Macchiato from your kitty config) - # Equivalent to the [colors] section - colors = { - alpha = 0.80; # Set background opacity - background = "1E1E2E"; - foreground = "CDD6F4"; - - ## Normal/regular colors - regular0 = "45475A"; # black - regular1 = "F38BA8"; # red - regular2 = "A6E3A1"; # green - regular3 = "F9E2AF"; # yellow - regular4 = "89B4FA"; # blue - regular5 = "F5C2E7"; # magenta - regular6 = "94E2D5"; # cyan - regular7 = "BAC2DE"; # white - - ## Bright colors - bright0 = "585B70"; # bright black - bright1 = "F38BA8"; # bright red - bright2 = "A6E3A1"; # bright green - bright3 = "F9E2AF"; # bright yellow - bright4 = "89B4FA"; # bright blue - bright5 = "F5C2E7"; # bright magenta - bright6 = "94E2D5"; # bright cyan - bright7 = "A6ADC8"; # bright white - }; - }; - }; -} diff --git a/home/fabric/programs/nixvim.nix b/home/fabric/programs/nixvim.nix index 9ead0ba..cf76ffe 100644 --- a/home/fabric/programs/nixvim.nix +++ b/home/fabric/programs/nixvim.nix @@ -7,6 +7,7 @@ update_in_insert = true; severity_sort = true; + # NOTE: Opt-in with 0.11 virtual_text = { enable = true; severity.min = "warn"; @@ -110,9 +111,7 @@ web-devicons.enable = true; nix.enable = true; bufferline.enable = false; - lualine = { - enable = false; - }; + lualine.enable = true; luasnip.enable = true; yanky = { enable = true; @@ -339,7 +338,6 @@ }; servers = { - clangd.enable = true; ts_ls.enable = true; eslint.enable = true; templ.enable = true; @@ -377,9 +375,6 @@ }; }; }; - elixirls = { - enable = true; - }; rust_analyzer = { enable = true; installCargo = true; @@ -394,9 +389,6 @@ }; }; }; - zls = { - enable = true; - }; }; }; cmp = { @@ -430,56 +422,31 @@ extraPlugins = [ ]; extraConfigLua = '' - vim.cmd [[ - highlight Normal guibg=none - highlight Normal ctermbg=none - highlight NonText guibg=none - highlight NonText ctermbg=none - highlight NormalFloat guibg=none - highlight NormalFloat ctermbg=none - highlight FloatBorder guibg=none - highlight FloatBorder ctermbg=none - highlight Pmenu guibg=none - highlight Pmenu ctermbg=none - highlight PmenuSel guibg=none - highlight PmenuSel ctermbg=none - highlight TelescopeNormal guibg=none - highlight TelescopeNormal ctermbg=none - highlight TelescopeBorder guibg=none - highlight TelescopeBorder ctermbg=none - highlight TermNormal guibg=none - highlight TermNormal ctermbg=none - highlight TermFloat guibg=none - highlight TermFloat ctermbg=none - highlight SignColumn guibg=none - ]] - - vim.filetype.add({ - extension = { - ldtk = "json", - }, - }) - vim.lsp.inlay_hint.enable(true) - vim.filetype.add({ - extension = { - cob = "cobweb", - cobweb = "cobweb", - }, - }) - local parser_config = require "nvim-treesitter.parsers".get_parser_configs() - parser_config.cobweb = { - install_info = { - url = "~/tree-sitter-cobweb", -- local path or git repo - files = {"src/parser.c"}, - generate_requires_npm = false, - requires_generate_from_grammar = false, - }, - filetype = "cobweb", - } + vim.filetype.add({ + extension = { + ldtk = "json", + }, + }) + vim.lsp.inlay_hint.enable(true) + vim.filetype.add({ + extension = { + cob = "cobweb", + cobweb = "cobweb", + }, + }) + local parser_config = require "nvim-treesitter.parsers".get_parser_configs() + parser_config.cobweb = { + install_info = { + url = "~/tree-sitter-cobweb", -- local path or git repo + files = {"src/parser.c"}, + generate_requires_npm = false, + requires_generate_from_grammar = false, + }, + filetype = "cobweb", + } ''; globals.mapleader = " "; opts = { - laststatus = 0; relativenumber = true; number = true; tabstop = 2; @@ -645,11 +612,6 @@ key = "p"; action = "\"_dP"; } - { - action = "LspStop"; - key = "ls"; - mode = ["n"]; - } ]; colorschemes.rose-pine.enable = true; }; diff --git a/home/fabric/programs/tmux.nix b/home/fabric/programs/tmux.nix index c2524e8..8c13bbb 100644 --- a/home/fabric/programs/tmux.nix +++ b/home/fabric/programs/tmux.nix @@ -1,9 +1,14 @@ # home/fabric/programs/tmux.nix -{pkgs, ...}: { +{ + config, + pkgs, + ... +}: { programs.tmux = { enable = true; plugins = with pkgs.tmuxPlugins; [ sensible + onedark-theme vim-tmux-navigator ]; @@ -14,46 +19,14 @@ # Custom key bindings extraConfig = '' + # Set pane base index setw -g pane-base-index 1 - # Vi copy mode bindings bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy" bind-key P paste-buffer bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy" - set-option -g status-position top - - set -g status-style 'fg=#CDD6F4,bg=default' - set -g status-justify centre # Center the window list - - # Remove anything from the left side - set -g status-left ' ' - - - # --- WINDOW LIST (CENTERED) --- - # Set the style for the active window - # We use a bright blue from your theme and make it bold - setw -g window-status-current-style 'fg=#89B4FA,bold' - # Format for the active window, using a Nerd Font icon - setw -g window-status-current-format '  #I-#W ' - - # Set the style for inactive windows - # We use a muted gray color from your theme - setw -g window-status-style 'fg=#585B70' - # Format for inactive windows, using a different Nerd Font icon - setw -g window-status-format '  #I-#W ' - - - # --- RIGHT SIDE --- - # Set the content for the right side of the status bar - # 󰒋 is a Nerd Font icon for a computer/host - # #H is the placeholder for the hostname - set -g status-right ' 󰒋 #H ' - # Set the max length for the right status bar - set -g status-right-length 40 - - ''; }; } diff --git a/home/fabric/programs/zsh.nix b/home/fabric/programs/zsh.nix index 8955168..1fc3d27 100644 --- a/home/fabric/programs/zsh.nix +++ b/home/fabric/programs/zsh.nix @@ -22,7 +22,6 @@ export PATH="/home/fabric/.local/lib/bin:$PATH" export PATH=$PATH:(go env GOPATH)/bin export PATH="/home/fabric/.cargo/bin:$PATH" - export PATH="/home/fabric/.config/emacs/bin:$PATH" GOPATH=$HOME/go PATH=$PATH:/usr/local/go/bin:$GOPATH/bin PATH="$HOME/.govm/shim:$PATH" @@ -33,9 +32,6 @@ alias gmt="go mod tidy" alias gmi="go mod init" alias flake="nix flake" - alias ls="lsd" - alias ll="lsd -l" - alias emacs="emacs -nw" function y() { local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd yazi "$@" --cwd-file="$tmp" @@ -54,206 +50,10 @@ }; }; - starship = { + oh-my-posh = { enable = true; enableZshIntegration = true; - settings = { - format = '' - $username$hostname$locali$shlvl$singularity$kubernetes$directory$vcsh$fossil_branch$fossil_metrics$git_branch$git_commit$git_state$git_metrics$git_status$hg_branch$pijul_channel$docker_context$package$c$cmake$cobol$daml$dart$deno$dotnet$elixir$elm$erlang$fennel$gleam$golang$guix_shell$haskell$haxe$helm$java$julia$kotlin$gradle$lua$nim$nodejs$ocaml$opa$perl$php$pulumi$purescript$python$quarto$raku$rlang$red$ruby$rust$scala$solidity$swift$terraform$typst$vlang$vagrant$zig$buf$nix_shell$conda$meson$spack$memory_usage$aws$gcloud$openstack$azure$nats$direnv$env_var$mise$crystal$custom$sudo$cmd_duration$line_break$jobs$battery$time$status$os$container$netns$shell$character - ''; - - aws = { - symbol = " "; - }; - buf = { - symbol = " "; - }; - bun = { - symbol = " "; - }; - c = { - symbol = " "; - }; - cpp = { - symbol = " "; - }; - cmake = { - symbol = " "; - }; - conda = { - symbol = " "; - }; - crystal = { - symbol = " "; - }; - dart = { - symbol = " "; - }; - deno = { - symbol = " "; - }; - directory = { - read_only = " 󰌾"; - }; - docker_context = { - symbol = " "; - }; - elixir = { - symbol = " "; - }; - elm = { - symbol = " "; - }; - fennel = { - symbol = " "; - }; - fossil_branch = { - symbol = " "; - }; - gcloud = { - symbol = " "; - }; - git_branch = { - symbol = " "; - }; - git_commit = { - tag_symbol = "  "; - }; - golang = { - symbol = " "; - }; - guix_shell = { - symbol = " "; - }; - haskell = { - symbol = " "; - }; - haxe = { - symbol = " "; - }; - hg_branch = { - symbol = " "; - }; - hostname = { - ssh_symbol = " "; - }; - java = { - symbol = " "; - }; - julia = { - symbol = " "; - }; - kotlin = { - symbol = " "; - }; - lua = { - symbol = " "; - }; - memory_usage = { - symbol = "󰍛 "; - }; - meson = { - symbol = "󰔷 "; - }; - nim = { - symbol = "󰆥 "; - }; - nix_shell = { - symbol = " "; - }; - nodejs = { - symbol = " "; - }; - ocaml = { - symbol = " "; - }; - os.symbols = { - Alpaquita = " "; - Alpine = " "; - AlmaLinux = " "; - Amazon = " "; - Android = " "; - Arch = " "; - Artix = " "; - CachyOS = " "; - CentOS = " "; - Debian = " "; - DragonFly = " "; - Emscripten = " "; - EndeavourOS = " "; - Fedora = " "; - FreeBSD = " "; - Garuda = "󰛓 "; - Gentoo = " "; - HardenedBSD = "󰞌 "; - Illumos = "󰈸 "; - Kali = " "; - Linux = " "; - Mabox = " "; - Macos = " "; - Manjaro = " "; - Mariner = " "; - MidnightBSD = " "; - Mint = " "; - NetBSD = " "; - NixOS = " "; - Nobara = " "; - OpenBSD = "󰈺 "; - openSUSE = " "; - OracleLinux = "󰌷 "; - Pop = " "; - Raspbian = " "; - Redhat = " "; - RedHatEnterprise = " "; - RockyLinux = " "; - Redox = "󰀘 "; - Solus = "󰠳 "; - SUSE = " "; - Ubuntu = " "; - Unknown = " "; - Void = " "; - Windows = "󰍲 "; - }; - package = { - symbol = "󰏗 "; - }; - perl = { - symbol = " "; - }; - php = { - symbol = " "; - }; - pijul_channel = { - symbol = " "; - }; - pixi = { - symbol = "󰏗 "; - }; - python = { - symbol = " "; - }; - rlang = { - symbol = "󰟔 "; - }; - ruby = { - symbol = " "; - }; - rust = { - symbol = "󱘗 "; - }; - scala = { - symbol = " "; - }; - swift = { - symbol = " "; - }; - zig = { - symbol = " "; - }; - gradle = { - symbol = " "; - }; - }; + useTheme = "easy-term"; }; }; } diff --git a/hosts/common/global/default.nix b/hosts/common/global/default.nix index 7fd2c65..5f99ed7 100644 --- a/hosts/common/global/default.nix +++ b/hosts/common/global/default.nix @@ -37,7 +37,7 @@ enable = true; settings = { default_session = { - command = "''${pkgs.greetd.tuigreet}/bin/tuigreet --time"; + command = "''${pkgs.greetd.tuigreet}/bin/tuigreet --time "; user = "fabric"; }; }; @@ -51,11 +51,4 @@ # This value determines the NixOS release version system.stateVersion = "25.05"; - - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - pulse.enable = true; # <-- This is the crucial part - }; } diff --git a/hosts/common/optional/kmonad.nix b/hosts/common/optional/kmonad.nix deleted file mode 100644 index c320609..0000000 --- a/hosts/common/optional/kmonad.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - services.kmonad = { - enable = true; - keyboards = { - myKMonadOutput = { - device = "/dev/input/event0"; - config = builtins.readFile ../../../files/keyboard.kbd; - }; - }; - }; -} diff --git a/hosts/solaris/default.nix b/hosts/solaris/default.nix deleted file mode 100644 index 5358444..0000000 --- a/hosts/solaris/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -# hosts/solaris/default.nix -{ - config, - lib, - pkgs, - ... -}: { - imports = [ - # Hardware configuration - ./hardware-configuration.nix - - # Common configurations - ../common/global - ../common/optional/fcitx5.nix - ../common/optional/bluetooth.nix - - ../common/optional/kmonad.nix - ]; - - # Bootloader - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.supportedFilesystems = ["nfs"]; - - # Networking - networking = { - hostName = "solaris"; - networkmanager.enable = true; - useDHCP = lib.mkDefault true; - }; - - # User configuration - users.users.fabric = { - isNormalUser = true; - description = "fabric"; - extraGroups = ["networkmanager" "wheel" "docker"]; - shell = pkgs.zsh; - }; - - services.rpcbind.enable = true; - - fileSystems."/home/fabric/nas" = { - device = "tatara:/nas"; - fsType = "nfs"; - options = [ - "x-systemd.automount" - "noauto" - "x-systemd.idle-timeout=60" - "x-systemd.device-timeout=5" - "x-systemd.mount-timeout=5" - "nfsvers=4" # Use NFSv4 - "hard" # Hard mount (recommended) - "intr" # Allow interruption - "rsize=8192" # Read size - "wsize=8192" # Write size - ]; - }; - - # Display manager configuration - services.displayManager.defaultSession = "dwl"; - - # Basic system packages - environment.systemPackages = with pkgs; [ - libinput - libnotify - foot - usbutils - ntfs3g - ]; -} diff --git a/hosts/solaris/hardware-configuration.nix b/hosts/solaris/hardware-configuration.nix deleted file mode 100644 index c237bfc..0000000 --- a/hosts/solaris/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/cd452eaf-7765-4bc2-b5dd-a846c47701e8"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/6026-C63E"; - fsType = "vfat"; - options = [ "fmask=0077" "dmask=0077" ]; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/1cc175bd-0071-4d76-a8a6-ae483ca56aac"; } - ]; - - # 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 - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/zion/default.nix b/hosts/zion/default.nix index 6f4c535..15c9d6c 100644 --- a/hosts/zion/default.nix +++ b/hosts/zion/default.nix @@ -10,12 +10,12 @@ ./hardware-configuration.nix # Common configurations - # ../common/optional/plasma.nix + ../common/optional/plasma.nix ../common/global ../common/optional/nvidia.nix ../common/optional/docker.nix ../common/optional/steam.nix - # ../common/optional/flatpak.nix + ../common/optional/flatpak.nix ../common/optional/fcitx5.nix ../common/optional/bluetooth.nix ../common/optional/sunshine.nix @@ -37,7 +37,7 @@ users.users.fabric = { isNormalUser = true; description = "fabric"; - extraGroups = ["networkmanager" "wheel" "docker" "video"]; + extraGroups = ["networkmanager" "wheel" "docker"]; shell = pkgs.zsh; }; @@ -68,7 +68,9 @@ }; # Display manager configuration - services.displayManager.defaultSession = "dwl"; + services.displayManager.defaultSession = "hyprland"; + + programs.hyprland.enable = true; # Basic system packages environment.systemPackages = with pkgs; [ diff --git a/hosts/zion/hardware-configuration.nix b/hosts/zion/hardware-configuration.nix index 5ed5034..add8519 100644 --- a/hosts/zion/hardware-configuration.nix +++ b/hosts/zion/hardware-configuration.nix @@ -14,11 +14,7 @@ boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "thunderbolt" "usb_storage" "usbhid" "sd_mod"]; boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd" "v4l2loopback"]; - - boot.extraModulePackages = with config.boot.kernelPackages; [ - v4l2loopback - ]; + boot.kernelModules = ["kvm-amd"]; hardware.enableRedistributableFirmware = true;