initial
This commit is contained in:
254
configuration.nix
Normal file
254
configuration.nix
Normal file
@@ -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?
|
||||||
|
|
||||||
|
}
|
||||||
27
flake.lock
generated
Normal file
27
flake.lock
generated
Normal file
@@ -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
|
||||||
|
}
|
||||||
17
flake.nix
Normal file
17
flake.nix
Normal file
@@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user