commit 9cdd47a29bcca115959572b64d3444a395f033d4 Author: voidarclabs Date: Mon Nov 3 12:58:50 2025 +0000 initial diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..50d3ec1 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,254 @@ +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + # 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") {}; + }; + }; + }; + +# 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"; + }) + ]; + }; + }; + +# Use latest kernel. + boot.kernelPackages = pkgs.linuxPackages_latest; + + # Networking settings + networking.hostName = "mobile02"; # Define your hostname. + networking.networkmanager.enable = true; + + # Enable bluetooth + hardware.bluetooth.enable = true; + + # Opengl and vulkan + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + vaapiIntel + vaapiVdpau + ]; + }; + + # 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"; + }; + + # Windowing Systems + services.xserver.enable = true; + services.displayManager.sddm = { + enable = true; + theme = "catppuccin-mocha"; + package = pkgs.kdePackages.sddm; + }; + programs.hyprland.enable = true; + security.polkit.enable = true; + + # 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; + }; + + # Local User + users.users.user01 = { + isNormalUser = true; + shell = pkgs.zsh; + description = "user01"; + extraGroups = [ "input" "networkmanager" "docker" "wheel" ]; + packages = with pkgs; [ + # Ricing + bibata-cursors + catppuccin-gtk + (builtins.getFlake "/etc/nixos/way-edges").packages.${pkgs.system}.default + waybar + swaynotificationcenter + fuzzel + wpaperd + oh-my-posh + + # 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 + + # 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" ]; + }; + }; + +# User programs + programs.steam.enable = true; + +# User Services + services.gvfs.enable = true; + services.tailscale.enable = true; + services.printing.enable = true; + services.upower.enable = true; + services.openssh.enable = true; + + # Fonts + fonts.packages = with pkgs; [ + nerd-fonts.fira-mono + ]; + + 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.typescript-language-server + pkgs.tailwindcss-language-server + pkgs.stylua + ]} + ''; + }) + vim + unzip + python310 # Its python like come on + + # Graphics Drivers + mesa + vulkan-tools + + # FileSystem Dependancies + gvfs + + # C copmpiler + clang + + # XDG Desktop Portal Etc + xdg-desktop-portal + xdg-desktop-portal-hyprland + + # Other things (from gnome) + glib + gnutls + appimage-run + libnotify + gsettings-desktop-schemas + ]; + + # The comment + system.stateVersion = "25.05"; # Did you read the comment? + +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..9769642 --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1735563628, + "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..98abacf --- /dev/null +++ b/flake.nix @@ -0,0 +1,17 @@ +{ + description = "My NixOS system configuration"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + + outputs = { self, nixpkgs, ... }@inputs: + { + nixosConfigurations.mobile02 = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./configuration.nix + /etc/nixos/hardware-configuration.nix + ]; + }; + }; +} +