diff --git a/configuration.nix b/configuration.nix index 3aef402..f1176c9 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,265 +1,266 @@ { config, lib, pkgs, inputs, ... }: { - imports = - [ - /etc/nixos/hardware-configuration.nix - inputs.walker.nixosModules.default - ]; + imports = + [ + /etc/nixos/hardware-configuration.nix + inputs.walker.nixosModules.default + ]; - # Allow Nix command and flakes (ofc) - nix.settings.experimental-features = [ "nix-command" "flakes" ]; +# Allow Nix command and flakes (ofc) + nix.settings.experimental-features = [ "nix-command" "flakes" ]; # Allow unfree packages - nixpkgs = { - config = { - allowUnfree = true; - packageOverrides = pkgs: { - unstable = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz") {}; - }; - }; - }; + nixpkgs = { + config = { + allowUnfree = true; + packageOverrides = pkgs: { + unstable = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz") {}; + }; + }; + }; # Boot - boot = { - loader = { - timeout = 2; - efi = { - canTouchEfiVariables = true; - }; - grub = { - efiSupport = true; - device = "nodev"; - theme = pkgs.catppuccin-grub; - }; - }; - plymouth = { - enable = true; - theme = "catppuccin-mocha"; - themePackages = with pkgs; [ - # By default we would install all themes - (catppuccin-plymouth.override { - variant = "mocha"; - }) - ]; - }; - }; + boot = { + loader = { + timeout = 2; + efi = { + canTouchEfiVariables = true; + }; + grub = { + efiSupport = true; + device = "nodev"; + theme = pkgs.catppuccin-grub; + }; + }; + plymouth = { + enable = true; + theme = "catppuccin-mocha"; + themePackages = with pkgs; [ +# By default we would install all themes + (catppuccin-plymouth.override { + variant = "mocha"; + }) + ]; + }; + }; # Use latest kernel. - boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = pkgs.linuxPackages_latest; - # Networking settings - networking.hostName = "mobile02"; # Define your hostname. - networking.networkmanager.enable = true; +# Networking settings + networking.hostName = "mobile02"; # Define your hostname. + networking.networkmanager.enable = true; - # Enable bluetooth - hardware.bluetooth.enable = true; +# Enable bluetooth + hardware.bluetooth.enable = true; - # Opengl and vulkan - hardware.graphics = { - enable = true; - extraPackages = with pkgs; [ - intel-vaapi-driver - libva-vdpau-driver - ]; - }; +# Opengl and vulkan + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + intel-vaapi-driver + libva-vdpau-driver + ]; + }; - # Set your time zone. - time.timeZone = "Europe/London"; +# Set your time zone. + time.timeZone = "Europe/London"; - # Locale - i18n.defaultLocale = "en_GB.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_GB.UTF-8"; - LC_IDENTIFICATION = "en_GB.UTF-8"; - LC_MEASUREMENT = "en_GB.UTF-8"; - LC_MONETARY = "en_GB.UTF-8"; - LC_NAME = "en_GB.UTF-8"; - LC_NUMERIC = "en_GB.UTF-8"; - LC_PAPER = "en_GB.UTF-8"; - LC_TELEPHONE = "en_GB.UTF-8"; - LC_TIME = "en_GB.UTF-8"; - }; +# Locale + i18n.defaultLocale = "en_GB.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "en_GB.UTF-8"; + LC_IDENTIFICATION = "en_GB.UTF-8"; + LC_MEASUREMENT = "en_GB.UTF-8"; + LC_MONETARY = "en_GB.UTF-8"; + LC_NAME = "en_GB.UTF-8"; + LC_NUMERIC = "en_GB.UTF-8"; + LC_PAPER = "en_GB.UTF-8"; + LC_TELEPHONE = "en_GB.UTF-8"; + LC_TIME = "en_GB.UTF-8"; + }; - # Windowing Systems - services.xserver.enable = true; +# Windowing Systems + services.xserver.enable = true; - services.displayManager.sddm = { - enable = true; - theme = "catppuccin-mocha-mauve"; - package = pkgs.kdePackages.sddm; - }; + services.displayManager.sddm = { + enable = true; + theme = "catppuccin-mocha-mauve"; + package = pkgs.kdePackages.sddm; + }; - programs.hyprland.enable = true; - security.polkit.enable = true; + programs.hyprland.enable = true; + security.polkit.enable = true; - # Keymap - services.xserver.xkb = { - layout = "gb"; - variant = ""; - }; - console.keyMap = "uk"; +# Keymap + services.xserver.xkb = { + layout = "gb"; + variant = ""; + }; + console.keyMap = "uk"; - # Pipewire - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; +# Pipewire + services.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; - # Local User - users.users.user01 = { - isNormalUser = true; - shell = pkgs.zsh; - description = "user01"; - extraGroups = [ "input" "bluetooth" "networkmanager" "docker" "wheel" ]; - packages = with pkgs; [ - # Ricing - bibata-cursors - catppuccin-gtk - (builtins.getFlake "/etc/nixos/way-edges").packages.${pkgs.system}.default - waybar - hyprlock - swaynotificationcenter - inputs.chataigne.packages.${pkgs.system}.chataigne - wlogout - wpaperd - kando - oh-my-posh +# Local User + users.users.user01 = { + isNormalUser = true; + shell = pkgs.zsh; + description = "user01"; + extraGroups = [ "input" "bluetooth" "networkmanager" "docker" "wheel" ]; + packages = with pkgs; [ +# Ricing + bibata-cursors + catppuccin-gtk + inputs.way-edges.packages.${pkgs.system}.way-edges + waybar + hyprlock + swaynotificationcenter + inputs.chataigne.packages.${pkgs.system}.chataigne + wlogout + wpaperd + kando + oh-my-posh + grimblast - # Terminal - carapace - kitty - github-cli - light - bluetuith - wget - playerctl - git - fastfetch - lsd - juce - stow - fzf - ripgrep - zsh-autocomplete - nodejs - lazygit - tailscale +# Terminal + carapace + kitty + github-cli + light + bluetuith + wget + playerctl + git + fastfetch + lsd + juce + stow + fzf + ripgrep + zsh-autocomplete + nodejs + lazygit + tailscale - # Thunar stuff - xfce.thunar - xfce.thunar-volman - xfce.thunar-vcs-plugin - xfce.thunar-archive-plugin +# Thunar stuff + xfce.thunar + xfce.thunar-volman + xfce.thunar-vcs-plugin + xfce.thunar-archive-plugin - # Apps - pavucontrol - firefox - tor-browser - gotify-desktop - techmino - mpv - prismlauncher - delfin - libreoffice-qt6 - syncthing - xremap - blueman - ]; - }; +# Apps + pavucontrol + firefox + tor-browser + gotify-desktop + techmino + mpv + prismlauncher + delfin + libreoffice-qt6 + syncthing + xremap + blueman + ]; + }; # Zsh - programs.zsh = { - enable = true; - enableCompletion = true; - enableBashCompletion = true; - autosuggestions.enable = true; - syntaxHighlighting.enable = true; - histSize = 10000; - ohMyZsh = { - enable = true; - plugins = [ "git" "dirhistory" "history" ]; - }; - }; + programs.zsh = { + enable = true; + enableCompletion = true; + enableBashCompletion = true; + autosuggestions.enable = true; + syntaxHighlighting.enable = true; + histSize = 10000; + ohMyZsh = { + enable = true; + plugins = [ "git" "dirhistory" "history" ]; + }; + }; # User programs - programs.steam.enable = true; - programs.walker.enable = true; + programs.steam.enable = true; + programs.walker.enable = true; # User Services - services.gvfs.enable = true; - services.tailscale.enable = true; - services.printing.enable = true; - services.upower.enable = true; - services.openssh.enable = true; - services.elephant.enable = true; + services.gvfs.enable = true; + services.tailscale.enable = true; + services.printing.enable = true; + services.upower.enable = true; + services.openssh.enable = true; + services.elephant.enable = true; - # Fonts - fonts.packages = with pkgs; [ - nerd-fonts.fira-mono - ]; +# Fonts + fonts.packages = with pkgs; [ + nerd-fonts.fira-mono + ]; - fonts.fontconfig.defaultFonts.serif = [ "Fira Mono Nerd Font" ]; - environment.systemPackages = with pkgs; [ + fonts.fontconfig.defaultFonts.serif = [ "Fira Mono Nerd Font" ]; + environment.systemPackages = with pkgs; [ - # Catppuccin sddm theme - (pkgs.catppuccin-sddm.override { - flavor = "mocha"; - font = "Fira Mono Nerd Font"; - fontSize = "11"; - background = null; - }) - # Terminal things - (pkgs.symlinkJoin { - name = "nvim-with-lsp"; - paths = [ pkgs.neovim ]; - buildInputs = [ pkgs.makeWrapper ]; - postBuild = '' - wrapProgram $out/bin/nvim \ - --prefix PATH : ${pkgs.lib.makeBinPath [ - pkgs.lua-language-server - pkgs.vscode-langservers-extracted - pkgs.emmet-ls - pkgs.ripgrep - pkgs.nil - pkgs.nixd - pkgs.typescript-language-server - pkgs.tailwindcss-language-server - pkgs.stylua - ]} - ''; - }) - vim - unzip - python310 # Its python like come on +# Catppuccin sddm theme + (pkgs.catppuccin-sddm.override { + flavor = "mocha"; + font = "Fira Mono Nerd Font"; + fontSize = "11"; + background = null; + }) +# Terminal things + (pkgs.symlinkJoin { + name = "nvim-with-lsp"; + paths = [ pkgs.neovim ]; + buildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/nvim \ + --prefix PATH : ${pkgs.lib.makeBinPath [ + pkgs.lua-language-server + pkgs.vscode-langservers-extracted + pkgs.emmet-ls + pkgs.ripgrep + pkgs.nil + pkgs.nixd + pkgs.typescript-language-server + pkgs.tailwindcss-language-server + pkgs.stylua + ]} + ''; + }) + vim + unzip + python310 # Its python like come on - # Graphics Drivers - mesa - vulkan-tools +# Graphics Drivers + mesa + vulkan-tools - # FileSystem Dependancies - gvfs +# FileSystem Dependancies + gvfs - # C copmpiler - clang +# C copmpiler + clang - # XDG Desktop Portal Etc - xdg-desktop-portal - xdg-desktop-portal-hyprland +# XDG Desktop Portal Etc + xdg-desktop-portal + xdg-desktop-portal-hyprland - # Other things (from gnome) - glib - gnutls - appimage-run - libnotify - gsettings-desktop-schemas - ]; +# Other things (from gnome) + glib + gnutls + appimage-run + libnotify + gsettings-desktop-schemas + ]; - # The comment - system.stateVersion = "25.05"; # Did you read the comment? +# The comment + system.stateVersion = "25.05"; # Did you read the comment? } diff --git a/flake.lock b/flake.lock index 91bc470..a6fcc37 100644 --- a/flake.lock +++ b/flake.lock @@ -98,6 +98,22 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1761597516, + "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, "pinned-nixpkgs": { "flake": false, "locked": { @@ -120,7 +136,29 @@ "chataigne": "chataigne", "elephant": "elephant", "nixpkgs": "nixpkgs_3", - "walker": "walker" + "walker": "walker", + "way-edges": "way-edges" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "way-edges", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761878277, + "narHash": "sha256-6fCtyVdTzoQejwoextAu7dCLoy5fyD3WVh+Qm7t2Nhg=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "6604534e44090c917db714faa58d47861657690c", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "systems": { @@ -174,6 +212,25 @@ "repo": "walker", "type": "github" } + }, + "way-edges": { + "inputs": { + "nixpkgs": "nixpkgs_5", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1766153193, + "narHash": "sha256-E1kDfofMXNX5XjrJggSFDVid6/1ETmbp3qRXuuGd6zM=", + "owner": "way-edges", + "repo": "way-edges", + "rev": "03a9091642ad39345115223890000481eeac8333", + "type": "github" + }, + "original": { + "owner": "way-edges", + "repo": "way-edges", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 40d491e..e110cef 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,7 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; elephant.url = "github:abenz1267/elephant"; chataigne.url = "./chataigne"; + way-edges.url = "github:way-edges/way-edges"; walker = { url = "github:abenz1267/walker";