Upload files to "/"

This commit is contained in:
2026-06-14 21:13:26 +00:00
commit f6c427b5a5
3 changed files with 198 additions and 0 deletions

65
configuration.nix Normal file
View File

@@ -0,0 +1,65 @@
{ config, pkgs, ... }:
{
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos";
networking.networkmanager.enable = true;
# Note: The MT7902 WiFi driver is notorious. Your existing fix_my_wifi.sh script
# and blacklisting strategy can still work if you run it manually, but eventually,
# building it as an out-of-tree kernel module in Nix is the "proper" way.
time.timeZone = "Asia/Amman";
i18n.defaultLocale = "en_US.UTF-8";
# Hardware: Intel Microcode & Nvidia PRIME
hardware.cpu.intel.updateMicrocode = true;
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = true; # You were using nvidia-open-dkms
nvidiaSettings = true;
prime = {
intelBusId = "PCI:0:2:0"; # Verify with `lspci | grep VGA`
nvidiaBusId = "PCI:1:0:0"; # Verify with `lspci | grep VGA`
};
};
# System Services
services.printing.enable = true; # cups
services.blueman.enable = true;
hardware.bluetooth.enable = true;
services.coolercontrol.enable = true;
services.ollama.enable = true;
virtualisation.libvirtd.enable = true;
# Display Manager & Desktop
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
# Enable Hyprland at the system level to pull in XDG portals automatically
programs.hyprland.enable = true;
programs.zsh.enable = true;
# User Account
users.users.nouredeen = {
isNormalUser = true;
description = "Nouredeen";
extraGroups = [ "networkmanager" "wheel" "libvirtd" "video" "audio" ];
shell = pkgs.zsh;
};
# DO NOT CHANGE
system.stateVersion = "24.05";
}

27
flake.nix Normal file
View File

@@ -0,0 +1,27 @@
{
description = "System Flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, ... }: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hardware-configuration.nix # Generated during installation
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.nouredeen = import ./home.nix;
}
];
};
};
}

106
home.nix Normal file
View File

@@ -0,0 +1,106 @@
{ config, pkgs, ... }:
{
home.username = "nouredeen";
home.homeDirectory = "/home/nouredeen";
home.packages = with pkgs; [
# Development
jetbrains.rider
jetbrains.clion
jetbrains.idea-ultimate
dotnet-sdk_8
vscode
git
# Utilities
kitty
thunar
fzf
ripgrep
bat
yazi
btop
fastfetch
# Wayland / Hyprland specific
waybar
rofi-wayland
walker
swaynotificationcenter
hyprpaper
hyprlock
hyprshot
wlogout
wl-clipboard
slurp
grim
# Apps
firefox
google-chrome
spotify
discord
obsidian
prismlauncher # Better maintained than raw minecraft-launcher in nix
];
# GTK Theming (Catppuccin Mocha)
gtk = {
enable = true;
theme = {
name = "catppuccin-mocha-mauve-standard+default";
package = pkgs.catppuccin-gtk.override {
accents = [ "mauve" ];
size = "standard";
tweaks = [ "normal" ];
variant = "mocha";
};
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
cursorTheme = {
name = "Adwaita";
size = 24;
};
};
# Zsh & Starship Setup
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
fixwifi = "sudo bash ~/mt7902_temp/fix_my_wifi.sh";
startm = "wlogout -l ~/.config/wlogout/layout -s ~/.config/wlogout/style.css -b 4 -T 350 -B 350";
zshconf = "nvim ~/.zshrc";
barconf = "nvim ~/.config/waybar/config";
ca = "cd ~/RiderProjects/ArqaamAccounting/ && clear && claude";
arq = "cd ~/RiderProjects/ArqaamAccounting/";
reload = "source ~/.zshrc && hyprctl reload && echo 'Reloaded'";
mountwin = "sudo mount -t ntfs-3g -o ro /dev/nvme0n1p3 /mnt/windows";
};
initExtra = ''
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
export EDITOR=nvim
'';
};
programs.starship.enable = true;
# Symlink your existing raw configs!
# Just place your folders in ~/nixos-config/dotfiles/
home.file = {
".config/hypr".source = ./dotfiles/hypr;
".config/waybar".source = ./dotfiles/waybar;
".config/swaync".source = ./dotfiles/swaync;
};
home.stateVersion = "24.05";
}