Upload files to "/"
This commit is contained in:
65
configuration.nix
Normal file
65
configuration.nix
Normal 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
27
flake.nix
Normal 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
106
home.nix
Normal 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";
|
||||
}
|
||||
Reference in New Issue
Block a user