2023-07-07 16:23:29 +04:00
|
|
|
{ config, pkgs, lib, inputs, outputs, ...}:
|
2023-07-07 00:39:27 +04:00
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
# home manager
|
2023-07-07 16:23:29 +04:00
|
|
|
inputs.home-manager.nixosModules.default
|
2023-07-07 00:39:27 +04:00
|
|
|
# modules
|
|
|
|
#i dont think this is right
|
2023-07-07 21:44:30 +04:00
|
|
|
#./modules
|
2023-07-07 23:46:47 +04:00
|
|
|
outputs.nixosModules.desktop
|
|
|
|
outputs.nixosModules.desktop.bspwm
|
|
|
|
outputs.nixosModules.desktop.kitty
|
|
|
|
outputs.nixosModules.desktop.keepassxc
|
|
|
|
outputs.nixosModules.desktop.web.qutebrowser
|
|
|
|
outputs.nixosModules.desktop.game.steam
|
|
|
|
outputs.nixosModules.desktop.game.wine
|
|
|
|
outputs.nixosModules.desktop.game.lutris
|
|
|
|
outputs.nixosModules.desktop.chat.discord
|
|
|
|
outputs.nixosModules.dev
|
|
|
|
outputs.nixosModules.dev.editors
|
|
|
|
outputs.nixosModules.dev.editors.nvim
|
|
|
|
outputs.nixosModules.dev.cpp
|
|
|
|
outputs.nixosModules.dev.javascript
|
|
|
|
outputs.nixosModules.dev.python
|
|
|
|
outputs.nixosModules.dev.rust
|
|
|
|
outputs.nixosModules.devices
|
|
|
|
outputs.nixosModules.devices.nvidia
|
|
|
|
outputs.nixosModules.devices.pipewire
|
|
|
|
outputs.nixosModules.devices.bluetooth
|
|
|
|
outputs.nixosModules.media
|
|
|
|
outputs.nixosModules.media.mpd
|
|
|
|
outputs.nixosModules.media.ncmpcpp
|
|
|
|
outputs.nixosModules.shell
|
|
|
|
outputs.nixosModules.shell.newsboat
|
|
|
|
outputs.nixosModules.shell.zsh
|
2023-07-07 00:39:27 +04:00
|
|
|
];
|
|
|
|
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes"];
|
|
|
|
|
|
|
|
# grub (mount efi partition to /boot/efi)
|
|
|
|
# why /boot/efi? instead of /efi?
|
|
|
|
# 1. when dualbooting, windows makes the efi partition 100mb instead of 512mb+ (we need this for generations
|
|
|
|
# and intel microcode)
|
|
|
|
# 2. nixos does not like /efi :(
|
|
|
|
# 3. i dont like systemd boot D:
|
|
|
|
# TODO(sako):: add shim secure boot
|
|
|
|
# because window and riot games devs :(
|
|
|
|
boot.loader = {
|
|
|
|
efi = {
|
|
|
|
canTouchEfiVariables = true;
|
|
|
|
efiSysMountPoint = "/boot/efi";
|
|
|
|
};
|
|
|
|
grub = {
|
|
|
|
devices = [ "nodev" ];
|
|
|
|
efiSupport = true;
|
|
|
|
enable = true;
|
|
|
|
useOSProber = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# this shouldnt cause any issues right?
|
2023-07-07 21:38:41 +04:00
|
|
|
networking.hostName = "sakotop";
|
2023-07-07 00:39:27 +04:00
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
|
|
|
|
time.timeZone = "Africa/Cairo";
|
|
|
|
|
2023-07-07 16:23:29 +04:00
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
2023-07-07 00:39:27 +04:00
|
|
|
console = {
|
|
|
|
font = "Lat2-Terminus16";
|
|
|
|
# keyMap = "us";
|
|
|
|
useXkbConfig = true;
|
|
|
|
};
|
|
|
|
# already sold soul to corporations \_O_/
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
2023-07-07 21:38:41 +04:00
|
|
|
services.xserver = {
|
|
|
|
layout = "us";
|
|
|
|
};
|
|
|
|
|
|
|
|
# nix makes alot of garbage so remove it :)
|
|
|
|
nix.gc = {
|
|
|
|
automatic = true;
|
|
|
|
dates = "weekly";
|
|
|
|
options = "--delete-older-than 7d";
|
|
|
|
};
|
|
|
|
|
|
|
|
# 100% need this everyone probably knows gpg
|
|
|
|
programs.gnupg.agent = {
|
|
|
|
enable = true;
|
|
|
|
pinentryFlavor = "gtk2";
|
|
|
|
# enableSSHSupport = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
# i dont care what ANYONE says git is always
|
|
|
|
# a requirement for a nixos system so it is
|
|
|
|
# also bare minimum
|
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.gitFull;
|
|
|
|
};
|
|
|
|
|
|
|
|
# bare minimum
|
|
|
|
# :)
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
neovim
|
|
|
|
wget
|
|
|
|
killall
|
|
|
|
alsa-utils
|
|
|
|
pulseaudio
|
|
|
|
pamixer
|
|
|
|
feh
|
|
|
|
unzip
|
|
|
|
gh
|
|
|
|
htop
|
|
|
|
tree
|
|
|
|
];
|
|
|
|
|
|
|
|
users.users.sako = {
|
|
|
|
shell = pkgs.zsh;
|
|
|
|
isNormalUser = true;
|
|
|
|
# sudo and networkmanager
|
|
|
|
extraGroups = [ "wheel" "networkmanager" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
home-manager.users.sako = { pkgs, ...}:{
|
|
|
|
# CHANGE THIS WHEN THE SYSTEM VERSION
|
|
|
|
# CHANGES TOO !!!!!!
|
|
|
|
home.stateVersion = "23.05";
|
|
|
|
home.packages = [];
|
|
|
|
home.username = "sako";
|
|
|
|
home.homeDirectory = "/home/sako";
|
|
|
|
programs.bash.enable = true;
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
# git
|
|
|
|
xdg.configFile = {
|
|
|
|
git = {
|
|
|
|
source = ../../config/git;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
# change this when nixos update blah blah blah
|
|
|
|
# something read the docs haha
|
|
|
|
# ok
|
|
|
|
system.stateVersion = "23.05"; # read the comment
|
2023-07-07 00:39:27 +04:00
|
|
|
}
|