diff --git a/configuration.nix b/configuration.nix index 59b4382..51d3605 100644 --- a/configuration.nix +++ b/configuration.nix @@ -9,6 +9,11 @@ [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; + + + ################################################ + # SECTION 1: BASIC SYSTEM SOFTWARE CONFIGURATION + ################################################ # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; @@ -16,7 +21,6 @@ # Enable flakes. nix = { - # package = pkgs.nixFlakes; # Ask Katie what that does settings.experimental-features = [ "nix-command" "flakes" ]; }; @@ -50,6 +54,10 @@ config.common.default = "*"; }; + ################################### + # SECTION 2: HARDWARE CONFIGURATION + ################################### + # Set login and power management options services.logind.lidSwitch = "suspend"; services.logind.lidSwitchDocked = "ignore"; # when an external monitor is plugged in @@ -82,7 +90,11 @@ # Enable Bluetooth. hardware.bluetooth.enable = true; - + + ################################################### + # SECTION 3: USERSPACE CONFIG AND OPTIONAL SOFTWARE + ################################################### + # Define a user account. Don't forget to set a password with ‘passwd’. users.users.alice = { isNormalUser = true; @@ -100,18 +112,32 @@ InhibitDelayMaxSec=5 ''; + # Allow steam to run nonfree + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "steam" "steam-original" "steam-run" + ]; + # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - xdg-terminal-exec.defaultPackage neovim git gay # very important, do not remove ]; + # Add Steam, which cannot be installed through home manager (boo!) + programs.steam = { + enable = true; + remotePlay.openFirewall = true; # Open ports in the firewall for Remote Play + # dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + }; + # Enable dconf; necessary for some programs programs.dconf.enable = true; + # Enable gvfs; handles trash + services.gvfs.enable = true; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/flake.lock b/flake.lock index 6975e31..1f0cfbf 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1704383912, - "narHash": "sha256-Be7O73qoOj/z+4ZCgizdLlu+5BkVvO2KO299goZ9cW8=", + "lastModified": 1704498488, + "narHash": "sha256-yINKdShHrtjdiJhov+q0s3Y3B830ujRoSbHduUNyKag=", "owner": "nix-community", "repo": "home-manager", - "rev": "26b8adb300e50efceb51fff6859a1a6ba1ade4f7", + "rev": "51e44a13acea71b36245e8bd8c7db53e0a3e61ee", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704194953, - "narHash": "sha256-RtDKd8Mynhe5CFnVT8s0/0yqtWFMM9LmCzXv/YKxnq4=", + "lastModified": 1704538339, + "narHash": "sha256-1734d3mQuux9ySvwf6axRWZRBhtcZA9Q8eftD6EZg6U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bd645e8668ec6612439a9ee7e71f7eac4099d4f6", + "rev": "46ae0210ce163b3cba6c7da08840c1d63de9c701", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 42a5d56..7a92862 100644 --- a/flake.nix +++ b/flake.nix @@ -3,10 +3,10 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - xdg-terminal-exec = { - url = "path:./xdg-terminal-exec"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # xdg-terminal-exec = { + # url = "path:/etc/nixos/flakes/xdg-terminal-exec"; + # inputs.nixpkgs.follows = "nixpkgs"; + # }; home-manager = { url = "github:nix-community/home-manager"; @@ -15,16 +15,19 @@ # nur.url = "github:nix-community/NUR"; }; - outputs = { self, nixpkgs, home-manager, xdg-terminal-exec }: + outputs = { self, nixpkgs, home-manager }: let system = "x86_64-linux"; + # overlays = [ (final: prev: { xdgTerminalExec = xdg-terminal-exec.defaultPackage; }) ]; in { nixosConfigurations = { oyvoLaptop = nixpkgs.lib.nixosSystem { inherit system; - _module.args = { inherit xdg-terminal-exec; }; modules = [ + # ({pkgs, ...}: { + # nixpkgs.overlays = overlays; + # }) ./configuration.nix home-manager.nixosModules.home-manager # nur.nixosModules.nur diff --git a/flakes/xdg-terminal-exec/flake.nix b/flakes/xdg-terminal-exec/flake.nix index 889a75f..9337b16 100644 --- a/flakes/xdg-terminal-exec/flake.nix +++ b/flakes/xdg-terminal-exec/flake.nix @@ -1,9 +1,9 @@ { - description = "A very basic flake"; + description = "A very basic flake for building xdg-terminal-exec"; outputs = { self, nixpkgs }: { - packages.x86_64-linux.xdg-terminal-exec = nixpkgs.legacyPackages.x86_64-linux.xdg-terminal-exec; + packages.x86_64-linux.xdg-terminal-exec = import ./xdg-terminal-exec.nix (import ); packages.x86_64-linux.default = self.packages.x86_64-linux.xdg-terminal-exec; diff --git a/flakes/xdg-terminal-exec/xdg-terminal-exec.nix b/flakes/xdg-terminal-exec/xdg-terminal-exec.nix index beb49dc..1f7b018 100644 --- a/flakes/xdg-terminal-exec/xdg-terminal-exec.nix +++ b/flakes/xdg-terminal-exec/xdg-terminal-exec.nix @@ -1,6 +1,4 @@ -let - pkgs = import {}; -in +{ pkgs }: pkgs.stdenv.mkDerivation { name = "xdg-terminal-exec"; builder = "${pkgs.bash}/bin/bash"; diff --git a/home.nix b/home.nix index d16e941..13b0d89 100644 --- a/home.nix +++ b/home.nix @@ -5,14 +5,24 @@ home.homeDirectory = "/home/alice"; home.stateVersion = "23.11"; - + + # Configure cursor + # home.pointerCursor = { + # package = pkgs.vanilla-dmz; + # name = "Vanilla-DMZ"; + # size = 64; + # }; + + # Install packages home.packages = with pkgs; [ texliveFull ] ++ # TeX distribution + [ bitwarden-cli ] ++ # Personalized selection of command-line (CLI/TUI) apps [ kitty ] ++ # Terminal emulator - [ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller pavucontrol ] ++ # Basic graphical apps - [ signal-desktop prismlauncher ] ++ # Personalized selection of graphical apps + [ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller vlc pavucontrol ] ++ # Basic graphical apps + [ libreoffice signal-desktop prismlauncher apostrophe ] ++ # Personalized selection of graphical apps [ bemenu j4-dmenu-desktop ] ++ # Sway-related packages [ noto-fonts redhat-official-fonts overpass ]; # Fonts + # [ vanilla-dmz ]; # Cursor programs.home-manager.enable = true; @@ -34,7 +44,7 @@ programs.swaylock = { enable = true; settings = { - font-size = 11; + font-size = 14; }; }; services.swayidle = { diff --git a/todo b/todo index 7e79303..b9d8446 100644 --- a/todo +++ b/todo @@ -1,5 +1,8 @@ enable NUR and firefox extensions split app configs off into separate files -fix editor issue!!! switch to zsh fix brightness switching as non root +set up a keyring and store networkmanager wifi passwords in there instead of plain text +fnott: notifications +neovim and vimtex config +set up screenshots diff --git a/wayland/sway.nix b/wayland/sway.nix index d48339f..2b08d93 100644 --- a/wayland/sway.nix +++ b/wayland/sway.nix @@ -10,7 +10,7 @@ style = "Regular"; size = 12.0; }; - input = { "type:touchpad" = { natural_scroll = "enabled"; }; }; + input = { "type:touchpad" = { natural_scroll = "disabled"; }; }; bars = let config = config; in [{ position = "top"; inherit fonts; @@ -29,7 +29,6 @@ '' + # Fractional scaling to 1.50 '' input type:touchpad { - natural_scroll disabled dwt disabled click_method clickfinger }