diff options
Diffstat (limited to '')
| -rw-r--r-- | OwO.nix | 36 | ||||
| -rw-r--r-- | configuration.nix | 238 | ||||
| -rw-r--r-- | desktop.nix | 72 | ||||
| -rw-r--r-- | home.nix | 141 |
4 files changed, 252 insertions, 235 deletions
@@ -0,0 +1,36 @@ +{ config, pkgs, ... }: + +{ + boot.extraModprobeConfig = "options kvm_intel nested=1"; + + networking.hostName = "OwO"; + + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = false; + nvidiaSettings = false; + package = config.boot.kernelPackages.nvidiaPackages.stable; + + prime = { + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; + }; + + fileSystems."/data" = { + device = "/dev/sda"; + fsType = "ext4"; + }; + + time.timeZone = "Asia/Kolkata"; +} diff --git a/configuration.nix b/configuration.nix index 32f7237..d27eca6 100644 --- a/configuration.nix +++ b/configuration.nix @@ -3,232 +3,17 @@ { imports = [ ./hardware-configuration.nix - <home-manager/nixos> + ./OwO.nix + ./home.nix + ./desktop.nix ]; - hardware.opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - }; - - services.xserver.videoDrivers = ["nvidia"]; - - hardware.nvidia = { - modesetting.enable = true; - powerManagement.enable = false; - powerManagement.finegrained = false; - open = false; - nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; - - prime = { - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; - }; - nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.config.allowUnfree = true; - # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - boot.extraModprobeConfig = "options kvm_intel nested=1"; - - networking.hostName = "OwO"; - networking.networkmanager.enable = true; - - fileSystems."/data" = { - device = "/dev/sda"; - fsType = "ext4"; - }; - - time.timeZone = "Asia/Kolkata"; - - programs.hyprland = { - enable = true; - xwayland.enable = true; - }; - xdg.portal.enable = true; - xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ]; - - environment.sessionVariables = { - NIXOS_OZONE_WL = "1"; - }; - - services.printing.enable = true; - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - services.blueman.enable = true; - - services.xserver.libinput.enable = true; - services.greetd = { - enable = true; - settings = { - default_session = { - command = "tuigreet --time --remember --cmd Hyprland"; - user = "greeter"; - }; - }; - }; - - services.logind.extraConfig = '' - HandlePowerKey=ignore - ''; - - systemd.services.greetd.serviceConfig = { - Type = "idle"; - StandardInput = "tty"; - StandardOutput = "tty"; - StandardError = "journal"; - TTYReset = true; - TTYVHangup = true; - TTYVTDisallocate = true; - }; - - environment.etc."inputrc".text = pkgs.lib.mkForce ( - builtins.readFile <nixpkgs/nixos/modules/programs/bash/inputrc> + '' - set completion-ignore-case on - '' - ); - - users.users.compromyse = { - isNormalUser = true; - extraGroups = [ "wheel" "storage" "libvirtd" ]; - }; - - home-manager.useUserPackages = true; - home-manager.useGlobalPkgs = true; - - home-manager.users.compromyse = { pkgs, ... }: { - home.packages = with pkgs; [ - wget - - tmux - fzf - fd - ripgrep - - cinnamon.nemo - mate.eom - - spotify - firefox - - obs-studio - - pavucontrol - blueman - brillo - ]; - - programs.bash = { - enable = true; - initExtra= '' - export PS1="\[\e[38;5;243m\]\h \[\e[38;5;254m\]\w \[\033[0m\]> " - - if [[ -n "$IN_NIX_SHELL" ]]; then - export PS1="\[\e[38;5;242m\](dev) $PS1" - fi - - sessionizer() { - DIR=$(fd . $HOME --type d -L -H | fzf) - SESSION_NAME="$DIR_$(date +%M%S)" - - if [ -n "$DIR" ] - then - if [ "$1" == "-cd" ] - then - cd $DIR - return - fi - tmux new-session -d -c "$DIR" -s "$SESSION_NAME" - if [ -n "$TMUX" ] - then - tmux switch -t "$SESSION_NAME" - else - tmux attach -t "$SESSION_NAME" - fi - fi - } - - if [[ $- != *i* ]] - then - sessionizer - fi - - bind '"\C-f": "sessionizer\n"' - bind '"\C-F": "sessionizer -cd\n"' - ''; - }; - - programs.git = { - enable = true; - userName = "Raghuram Subramani"; - userEmail = "raghus2247@gmail.com"; - }; - - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - vimdiffAlias = true; - }; - - - programs.alacritty = { - enable = true; - }; - - home.file = { - ".tmux.conf".source = ./.tmux.conf; - ".fdignore".source = ./.fdignore; - ".config" = { - source = ./config; - recursive = true; - }; - }; - - home.pointerCursor = { - gtk.enable = true; - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 16; - }; - - gtk = { - enable = true; - - theme = { name = "adw-gtk3-dark"; package = pkgs.adw-gtk3; }; - iconTheme = { name = "Papirus-Light"; package = pkgs.papirus-icon-theme; }; - - font = { name = "UbuntuMono Nerd Font"; }; - }; - - qt = { - enable = true; - platformTheme = "gtk"; - style.name = "adwaita-dark"; - }; - - home.stateVersion = "23.11"; - programs.home-manager.enable = true; - }; - environment.systemPackages = with pkgs; [ waybar fuzzel @@ -246,23 +31,6 @@ libappindicator ]; - fonts.packages = with pkgs; [ - (nerdfonts.override { fonts = [ "UbuntuMono" ]; }) - ]; - - virtualisation.libvirtd.enable = true; - programs.virt-manager.enable = true; - programs.dconf.enable = true; - - programs.gnupg.agent = { - enable = true; - }; - - security.polkit.enable = true; - security.pam.services.waylock.text = '' - auth include login - ''; - system.stateVersion = "23.11"; } diff --git a/desktop.nix b/desktop.nix new file mode 100644 index 0000000..36b3a1a --- /dev/null +++ b/desktop.nix @@ -0,0 +1,72 @@ +{ config, pkgs, ... }: + +{ + programs.hyprland = { + enable = true; + xwayland.enable = true; + }; + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ]; + + environment.sessionVariables = { + NIXOS_OZONE_WL = "1"; + }; + + services.printing.enable = true; + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + networking.networkmanager.enable = true; + + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; + + services.xserver.libinput.enable = true; + services.greetd = { + enable = true; + settings = { + default_session = { + command = "tuigreet --time --remember --cmd Hyprland"; + user = "greeter"; + }; + }; + }; + + services.logind.extraConfig = '' + HandlePowerKey=ignore + ''; + + systemd.services.greetd.serviceConfig = { + Type = "idle"; + StandardInput = "tty"; + StandardOutput = "tty"; + StandardError = "journal"; + TTYReset = true; + TTYVHangup = true; + TTYVTDisallocate = true; + }; + + security.polkit.enable = true; + security.pam.services.waylock.text = '' + auth include login + ''; + + programs.gnupg.agent = { + enable = true; + }; + + programs.dconf.enable = true; + + fonts.packages = with pkgs; [ + (nerdfonts.override { fonts = [ "UbuntuMono" ]; }) + ]; +} diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..324cc6d --- /dev/null +++ b/home.nix @@ -0,0 +1,141 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + users.users.compromyse = { + isNormalUser = true; + extraGroups = [ "wheel" "storage" "libvirtd" ]; + }; + + home-manager.useUserPackages = true; + home-manager.useGlobalPkgs = true; + + home-manager.users.compromyse = { pkgs, ... }: { + home.packages = with pkgs; [ + wget + + tmux + fzf + fd + ripgrep + + cinnamon.nemo + mate.eom + + spotify + firefox + + obs-studio + + pavucontrol + blueman + brillo + ]; + + programs.bash = { + enable = true; + initExtra= '' + export PS1="\[\e[38;5;243m\]\h \[\e[38;5;254m\]\w \[\033[0m\]> " + + if [[ -n "$IN_NIX_SHELL" ]]; then + export PS1="\[\e[38;5;242m\](dev) $PS1" + fi + + sessionizer() { + DIR=$(fd . $HOME --type d -L -H | fzf) + SESSION_NAME="$DIR_$(date +%M%S)" + + if [ -n "$DIR" ] + then + if [ "$1" == "-cd" ] + then + cd $DIR + return + fi + tmux new-session -d -c "$DIR" -s "$SESSION_NAME" + if [ -n "$TMUX" ] + then + tmux switch -t "$SESSION_NAME" + else + tmux attach -t "$SESSION_NAME" + fi + fi + } + + if [[ $- != *i* ]] + then + sessionizer + fi + + bind '"\C-f": "sessionizer\n"' + bind '"\C-F": "sessionizer -cd\n"' + ''; + }; + + programs.git = { + enable = true; + userName = "Raghuram Subramani"; + userEmail = "raghus2247@gmail.com"; + }; + + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + vimdiffAlias = true; + }; + + + programs.alacritty = { + enable = true; + }; + + home.file = { + ".tmux.conf".source = ./.tmux.conf; + ".fdignore".source = ./.fdignore; + ".config" = { + source = ./config; + recursive = true; + }; + }; + + home.pointerCursor = { + gtk.enable = true; + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 16; + }; + + gtk = { + enable = true; + + theme = { name = "adw-gtk3-dark"; package = pkgs.adw-gtk3; }; + iconTheme = { name = "Papirus-Light"; package = pkgs.papirus-icon-theme; }; + + font = { name = "UbuntuMono Nerd Font"; }; + }; + + qt = { + enable = true; + platformTheme = "gtk"; + style.name = "adwaita-dark"; + }; + + home.stateVersion = "23.11"; + }; + + environment.etc."inputrc".text = pkgs.lib.mkForce ( + builtins.readFile <nixpkgs/nixos/modules/programs/bash/inputrc> + '' + set completion-ignore-case on + '' + ); + + virtualisation.libvirtd.enable = true; + programs.virt-manager.enable = true; +} |
