diff --git a/.idea/.nixos-configs.iml b/.idea/.nixos-configs.iml
index d0876a7..ba2fcc8 100644
--- a/.idea/.nixos-configs.iml
+++ b/.idea/.nixos-configs.iml
@@ -4,5 +4,7 @@
+
+
\ No newline at end of file
diff --git a/cap-nr200p/configuration.nix b/cap-nr200p/configuration.nix
new file mode 100644
index 0000000..f2bd57d
--- /dev/null
+++ b/cap-nr200p/configuration.nix
@@ -0,0 +1,232 @@
+# Edit this configuration file to define what should be installed on
+# your system. Help is available in the configuration.nix(5) man page
+# and in the NixOS manual (accessible by running ‘nixos-help’).
+
+{ config, pkgs, ... }:
+
+{
+ imports = [
+ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ];
+
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ networking.hostName = "cap-nr200p"; # Define your hostname. #-#
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ # Enable networking
+ networking.networkmanager.enable = true;
+
+ # Enable flakes
+ nix.settings.experimental-features = [
+ "nix-command"
+ "flakes"
+ ]; # -#
+
+ # Set your time zone.
+ time.timeZone = "America/Los_Angeles";
+
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_US.UTF-8";
+
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "en_US.UTF-8";
+ LC_IDENTIFICATION = "en_US.UTF-8";
+ LC_MEASUREMENT = "en_US.UTF-8";
+ LC_MONETARY = "en_US.UTF-8";
+ LC_NAME = "en_US.UTF-8";
+ LC_NUMERIC = "en_US.UTF-8";
+ LC_PAPER = "en_US.UTF-8";
+ LC_TELEPHONE = "en_US.UTF-8";
+ LC_TIME = "en_US.UTF-8";
+ };
+
+ # Enable the X11 windowing system.
+ # services.xserver.enable = true;
+
+ # Enable the XFCE Desktop Environment.
+ # services.xserver.displayManager.lightdm.enable = true;
+ # services.xserver.desktopManager.xfce.enable = true;
+
+ # Configure keymap in X11
+ services.xserver.xkb = {
+ layout = "us";
+ variant = "";
+ };
+
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+
+ # Enable sound with pipewire.
+ hardware.pulseaudio.enable = false;
+ security.rtkit.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ # If you want to use JACK applications, uncomment this
+ #jack.enable = true;
+
+ # use the example session manager (no others are packaged yet so this is enabled by default,
+ # no need to redefine it in your config for now)
+ #media-session.enable = true;
+ };
+
+ # Enable touchpad support (enabled default in most desktopManager).
+ # services.xserver.libinput.enable = true;
+
+ # Define a user account. Don't forget to set a password with ‘passwd’.
+ users.users.caperren = {
+ isNormalUser = true;
+ description = "Corwin Perren";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "input"
+ ];
+ packages = with pkgs; [
+ # thunderbird
+ ];
+ };
+
+ # Install firefox.
+ programs.firefox.enable = true; # -#
+
+ # Allow unfree packages
+ nixpkgs.config.allowUnfree = true;
+
+ # List packages installed in system profile. To search, run:
+ # $ nix search wget
+ environment.systemPackages = with pkgs; [
+ # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
+ # wget
+ lf
+ git
+ wofi
+ nvtopPackages.full
+ htop
+ iftop
+ iotop
+ pulsemixer
+ arandr
+ util-linux
+ usbutils
+ telegram-desktop
+ discord
+ # spotify
+ pavucontrol
+ networkmanagerapplet
+ pasystray
+ glava
+ spotify-player
+ hyprpicker
+ unetbootin
+ lf
+ dnsutils
+ unzip
+ playerctl
+ google-chrome
+ killall
+ jetbrains.pycharm-professional
+ wget
+ jq
+ rofi-bluetooth
+ wl-clipboard
+ networkmanager
+ alsaUtils
+ nixfmt-rfc-style
+ mako
+ podman
+ ];
+
+ fonts.fontDir.enable = true;
+ fonts.fontconfig.enable = true;
+ fonts.fontconfig.antialias = true;
+ fonts.packages = with pkgs; [
+ noto-fonts
+ noto-fonts-emoji
+ liberation_ttf
+ fira-code
+ fira-code-symbols
+ jetbrains-mono
+ mplus-outline-fonts.githubRelease
+ dina-font
+ proggyfonts
+ font-awesome
+ nerdfonts
+ ];
+
+ programs.thunar.enable = true;
+ programs.thunar.plugins = with pkgs.xfce; [
+ thunar-archive-plugin
+ thunar-volman
+ ];
+ services.gvfs.enable = true; # Mount, trash, and other functionalities
+ services.tumbler.enable = true; # Thumbnail support for images
+
+ hardware.bluetooth.enable = true; # enables support for Bluetooth
+ hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
+ services.blueman.enable = true;
+
+ security.sudo = {
+ enable = true;
+ extraRules = [
+ {
+ commands = [
+ {
+ command = "${pkgs.systemd}/bin/reboot";
+ options = [ "NOPASSWD" ];
+ }
+ {
+ command = "${pkgs.systemd}/bin/poweroff";
+ options = [ "NOPASSWD" ];
+ }
+ ];
+ groups = [ "wheel" ];
+ }
+ ];
+ };
+
+ programs.steam = {
+ enable = true;
+ remotePlay.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ gamescopeSession.enable = true;
+ };
+
+ # Some programs need SUID wrappers, can be configured further or are
+ # started in user sessions.
+ # programs.mtr.enable = true;
+ # programs.gnupg.agent = {
+ # enable = true;
+ # enableSSHSupport = true;
+ # };
+
+ # List services that you want to enable:
+
+ # Enable the OpenSSH daemon.
+ services.openssh.enable = true; # -#
+
+ # Open ports in the firewall.
+ # networking.firewall.allowedTCPPorts = [ ... ];
+ # networking.firewall.allowedUDPPorts = [ ... ];
+ # Or disable the firewall altogether.
+ networking.firewall.enable = false;
+
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+ system.stateVersion = "23.11"; # Did you read the comment?
+
+}
diff --git a/flake.nix b/flake.nix
index 7d260e6..3ee162d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -3,7 +3,8 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
- #nixos-hardware.url = "github:NixOS/nixos-hardware/master";
+ nixos-hardware.url = "github:NixOS/nixos-hardware/master";
+ #nixos-hardware.url = "github:caperren/nixos-hardware/master";
home-manager = {
url = "github:nix-community/home-manager";
@@ -12,10 +13,17 @@
};
outputs =
-# { self, nixpkgs, nixos-hardware, ... }@inputs:
- { self, nixpkgs, ... }@inputs:
{
- nixosConfigurations.default = nixpkgs.lib.nixosSystem {
+ self,
+ nixpkgs,
+ home-manager,
+ nixos-hardware,
+ ...
+ }@inputs:
+ {
+
+ nixosConfigurations.cap-slim7 = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
@@ -23,8 +31,40 @@
./hosts/cap-slim7/configuration.nix
./modules/nixos/hyprland-amd.nix
inputs.home-manager.nixosModules.default
- # nixos-hardware.nixosModules.lenovo-legion-16arha7
+ nixos-hardware.nixosModules.lenovo-legion-16arha7
];
};
+
+ nixosConfigurations.cap-nr200p = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./hosts/cap-nr200p/configuration.nix
+ ./modules/nixos/hyprland.nix
+ inputs.home-manager.nixosModules.default
+ ];
+ };
+
+ homeConfigurations = {
+ "caperren@cap-slim7" = home-manager.lib.homeManagerConfiguration {
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ extraModules = [
+ ./home/caperren/common.nix
+ ./home/caperren/laptop.nix
+ ];
+ username = "caperren";
+ homeDirectory = "/home/caperren";
+ };
+
+ "caperren@cap-nr200p" = home-manager.lib.homeManagerConfiguration {
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ extraModules = [
+ ./home/caperren/common.nix
+ ./home/caperren/desktop1.nix
+ ];
+ username = "caperren";
+ homeDirectory = "/home/caperren";
+ };
+ };
+
};
}
diff --git a/hosts/cap-slim7/configuration.nix b/hosts/cap-slim7/configuration.nix
index 90086b7..75b3b65 100644
--- a/hosts/cap-slim7/configuration.nix
+++ b/hosts/cap-slim7/configuration.nix
@@ -12,9 +12,13 @@
#boot.kernelPackages = pkgs.linuxPackages_latest;
+ #
+ nix.settings.download-buffer-size = 524288000;
+
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
+ boot.loader.grub.configurationLimit = 8;
networking.hostName = "cap-slim7"; # Define your hostname. #-#
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
@@ -23,19 +27,19 @@
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- security.sudo.extraConfig = ''
- Defaults timestamp_timeout=15
- '';
+ #security.sudo.extraConfig = ''
+ # Defaults timestamp_timeout=15
+ #'';
- security.polkit.extraConfig = ''
- polkit.addRule(function(action, subject) {
- if ((action.id == "org.freedesktop.login1.reboot" ||
- action.id == "org.freedesktop.login1.poweroff") &&
- subject.isInGroup("powerusers")) {
- return polkit.Result.YES;
- }
- });
- '';
+ # security.polkit.extraConfig = ''
+ # polkit.addRule(function(action, subject) {
+ # if ((action.id == "org.freedesktop.login1.reboot" ||
+ # action.id == "org.freedesktop.login1.poweroff") &&
+ # subject.isInGroup("powerusers")) {
+ # return polkit.Result.YES;
+ # }
+ # });
+ # '';
# Enable networking
networking.networkmanager.enable = true;
@@ -84,7 +88,7 @@
services.printing.enable = true;
# Enable sound with pipewire.
- hardware.pulseaudio.enable = false;
+ services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
@@ -111,6 +115,8 @@
"wheel"
"input"
"dialout"
+ "plugdev"
+ "adbusers"
];
packages = with pkgs; [
# thunderbird
@@ -126,108 +132,138 @@
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
+ # droidcam-obs
# teensyduino
+ # ];
+ # plugins = with obs-studio-plugins; [
+ # PKGS END
+ # bottles
# lenovo-legion
+ obs-studio
+ #(wrapOBS {
+ #arduino-ide
+ #audacity
+ #deadbeef
+ #dolphin-emu
+ #dualsensectl
+ #easyeffects
+ #flameshot
+ #gcc
+ #glmark2
+ #heroic
+ #jetbrains.pycharm-professional
+ #lf
+ #lf
+ #librewolf
+ #lutris
+ #meshcentral
+ #pcb2gcode
+ #projectm_3
+ #python311Full
+ #qemu
+ #quickemu
+ #rofi-bluetooth
+ #s-tui
+ #scrcpy
+ #sox
+ #stm32cubemx
+ #stm32flash
+ #teensy-udev-rules
+ #transmission_4-qt
+ #via
+ #vlc
+ #vscode
+ #winetricks
+ #})
+ vlc
alsa-utils
arandr
- arduino-ide
- audacity
- # bottles
brightnessctl
- deadbeef
discord
dnsutils
- dualsensectl
- easyeffects
- flameshot
- gcc
git
glava
- glmark2
google-chrome
- heroic
htop
hyprpicker
iftop
iotop
jetbrains-toolbox
- jetbrains.pycharm-professional
+ flameshot
jq
+ kanshi
killall
- lf
- lf
- librewolf
mako
ncdu
networkmanager
networkmanagerapplet
nixfmt-rfc-style
+ nodejs
nvtopPackages.full
- # obs-studio
- (wrapOBS {
- plugins = with obs-studio-plugins; [
- droidcam-obs
- ];
- })
obsidian
pasystray
pavucontrol
- pcb2gcode
playerctl
podman
powertop
- projectm
pulsemixer
- python311Full
- qemu
- #quickemu
- rofi-bluetooth
- s-tui
- sox
speedcrunch
spotify-player
- stm32cubemx
- stm32flash
- teensy-udev-rules
+ streamdeck-ui
telegram-desktop
- transmission_4-qt
unetbootin
unzip
usbutils
util-linux
- via
- vlc
wget
- winetricks
wl-clipboard
wlogout
wofi
xfce.mousepad
- lutris
- streamdeck-ui
- # PKGS END
+ imagemagick
+ hyprlock
+ # plex-desktop
+ darktable
+ arduino
+ yt-dlp
+ nmap
+ signal-desktop
+ swayidle
+ hyprlock
+ pciutils
+ s-tui
+ woeusb
+ gparted
];
+ hardware.logitech.wireless.enable = true;
+ hardware.logitech.wireless.enableGraphical = true;
+
+ #programs.adb.enable = true;
+ services.meshcentral.enable = true;
+ services.xserver.videoDrivers = [
+ "displaylink"
+ "modesetting"
+ ];
programs.ydotool.enable = true;
- boot.extraModulePackages = with config.boot.kernelPackages; [
- v4l2loopback
- ];
- boot.extraModprobeConfig = ''
- options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
- '';
+ #boot.extraModulePackages = with config.boot.kernelPackages; [
+ # v4l2loopback
+ #];
+ #boot.extraModprobeConfig = ''
+ # options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
+ #'';
- programs.virt-manager.enable = true;
- users.groups.libvirtd.members = [ "caperren" ];
- virtualisation.libvirtd.enable = true;
- virtualisation.spiceUSBRedirection.enable = true;
- services.spice-vdagentd.enable = true;
+ #programs.virt-manager.enable = true;
+ #users.groups.libvirtd.members = [ "caperren" ];
+ #virtualisation.libvirtd.enable = true;
+ #virtualisation.spiceUSBRedirection.enable = true;
+ #services.spice-vdagentd.enable = true;
# services.automatic-timezoned.enable = true;
programs.bash.shellAliases = {
nixrebuild = "pushd /etc/nixos && { trap 'popd' EXIT; sudo nixos-rebuild switch --flake .#default; }";
- # nixrebuild = "pushd; cd /etc/nixos && sudo nixos-rebuild switch --flake .#default";
nixupdate = "cd /etc/nixos && sudo nix flake update && sudo nixos-rebuild switch --flake .#default";
nixedit = "sudo nano /etc/nixos/hosts/cap-slim7/configuration.nix";
@@ -237,20 +273,23 @@
yesway = "nohup waybar >/dev/null 2>&1 &";
noway = "pkill waybar";
-
- };
-
- programs.appimage = {
- enable = true;
- binfmt = true;
};
+ #programs.appimage = {
+ # enable = true;
+ # binfmt = true;
+ #};
+
# services.power-profiles-daemon.enable = true;
services.tlp = {
enable = true;
settings = {
##### Defaults ######
+ # WIFI
+ WIFI_PWR_ON_AC = "off";
+ WIFI_PWR_ON_BAT = "off";
+
# AC
CPU_MIN_PERF_ON_AC = 0;
@@ -287,8 +326,8 @@
};
};
- hardware.keyboard.qmk.enable = true;
- services.udev.packages = [ pkgs.via ];
+ #hardware.keyboard.qmk.enable = true;
+ #services.udev.packages = [ pkgs.via ];
services.udev.extraRules = ''
# ST-LINK V2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="600", TAG+="uaccess", SYMLINK+="stlinkv2_%n"
diff --git a/modules/nixos/hyprland-amd.nix b/modules/nixos/hyprland-amd.nix
index c460524..216c819 100644
--- a/modules/nixos/hyprland-amd.nix
+++ b/modules/nixos/hyprland-amd.nix
@@ -5,6 +5,11 @@
xwayland.enable = true;
};
+# programs.waybar = {
+# enable = true;
+## systemd.enable = true;
+# };
+
security.rtkit.enable = true;
services.pipewire = {
enable = true;
@@ -15,45 +20,45 @@
#jack.enable = true;
};
-# environment.sessionVariables = {
- # If your cursor becomes invisible
-# WLR_NO_HARDWARE_CURSORS = "1";
- # Hint electron apps to use wayland
-# NIXOS_OZONE_WL = "1";
- # Fix waiting on vsync
-# __GL_SYNC_TO_VBLANK = "0";
-# };
+ # environment.sessionVariables = {
+ # If your cursor becomes invisible
+ # WLR_NO_HARDWARE_CURSORS = "1";
+ # Hint electron apps to use wayland
+ # NIXOS_OZONE_WL = "1";
+ # Fix waiting on vsync
+ # __GL_SYNC_TO_VBLANK = "0";
+ # };
services.xserver = {
enable = true;
videoDrivers = [ "amdgpu" ];
- displayManager.gdm = {
+ };
+ services.displayManager.gdm = {
enable = true;
wayland = true;
- };
};
-# services.displayManager.autoLogin = {
-# enable = true;
-# user = "caperren";
-# };
+ # services.displayManager.autoLogin = {
+ # enable = true;
+ # user = "caperren";
+ # };
hardware.graphics = {
enable = true;
enable32Bit = true;
};
-# hardware.nvidia = {
- # Enable modesetting for Wayland compositors (hyprland)
-# modesetting.enable = true;
- # Use the open source version of the kernel module (for driver 515.43.04+)
- # Actually, just overridden to false for now
-# open = false;
- # Enable the Nvidia settings menu
-# nvidiaSettings = true;
- # Select the appropriate driver version for your specific GPU
-# package = config.boot.kernelPackages.nvidiaPackages.stable;
-# };
+ # hardware.nvidia = {
+ # Enable modesetting for Wayland compositors (hyprland)
+ # modesetting.enable = true;
+ # Use the open source version of the kernel module (for driver 515.43.04+)
+ # Actually, just overridden to false for now
+ # open = false;
+ # Enable the Nvidia settings menu
+ # nvidiaSettings = true;
+ # Select the appropriate driver version for your specific GPU
+ # package = config.boot.kernelPackages.nvidiaPackages.stable;
+ # };
environment.systemPackages = [
pkgs.hyprland
pkgs.kitty
diff --git a/notes.MD b/notes.MD
new file mode 100644
index 0000000..e69de29