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