diff --git a/flake.lock b/flake.lock index a740a3a..06f6f20 100644 --- a/flake.lock +++ b/flake.lock @@ -162,13 +162,34 @@ "type": "github" } }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1785251235, + "narHash": "sha256-9rXsWa5cHXr6Hc/Gmo83vRO8zl/rBiktRuhD1l2Rpk8=", + "owner": "noctalia-dev", + "repo": "noctalia", + "rev": "082e0e38608349d8af9f64f30c66f9951e67a0c2", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia", + "type": "github" + } + }, "root": { "inputs": { "darwin": "darwin", "filaments": "filaments", "helix": "helix", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_3", + "noctalia": "noctalia" } }, "rust-analyzer-src": { diff --git a/flake.nix b/flake.nix index 3b30faa..3d61160 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,12 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + noctalia = { + url = "github:noctalia-dev/noctalia"; + inputs.nixpkgs.follows = "nixpkgs"; + + }; + helix.url = "github:helix-editor/helix"; }; @@ -30,6 +36,7 @@ nixpkgs, helix, filaments, + noctalia, home-manager, ... }@inputs: @@ -79,7 +86,7 @@ ]; }; - # `sudo nixos-rebuild switch --flake .#Styx` + # `sudo nixos-rebuild switch --flake .#Styx` Styx = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; @@ -100,11 +107,12 @@ useUserPackages = true; users.suri = import ./users/suri/Styx.nix; backupFileExtension = "backup"; - documentation.enable = false; + # documentation.enable = false; extraSpecialArgs = { # <-- add this helix = helix; filaments = filaments; + noctalia = noctalia; }; }; } diff --git a/hosts/Styx/configuration.nix b/hosts/Styx/configuration.nix index 23b5c7d..5160c23 100644 --- a/hosts/Styx/configuration.nix +++ b/hosts/Styx/configuration.nix @@ -2,13 +2,18 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: +{ + config, + pkgs, + ... +}: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ../../modules/system/tailscale.nix + ]; # Bootloader. boot.loader.systemd-boot.enable = true; @@ -18,6 +23,7 @@ boot.kernelPackages = pkgs.linuxPackages_latest; networking.hostName = "styx"; # Define your hostname. + networking.networkmanager.wifi.powersave = false; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary @@ -26,6 +32,9 @@ # Enable networking networking.networkmanager.enable = true; + hardware.bluetooth.enable = true; + services.power-profiles-daemon.enable = true; + services.upower.enable = true; # Set your time zone. time.timeZone = "America/Los_Angeles"; @@ -55,8 +64,11 @@ users.users."suri" = { isNormalUser = true; description = "suri"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; []; + extraGroups = [ + "networkmanager" + "wheel" + ]; + packages = with pkgs; [ ]; }; # Allow unfree packages @@ -72,6 +84,20 @@ jujutsu ]; + programs.niri.enable = true; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${config.programs.niri.package}/bin/niri-session"; + user = "suri"; + }; + }; + }; + + security.polkit.enable = true; + services.gnome.gnome-keyring.enable = true; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/hosts/Styx/configuration.nix6r45uI.bck b/hosts/Styx/configuration.nix6r45uI.bck new file mode 100644 index 0000000..2775dda --- /dev/null +++ b/hosts/Styx/configuration.nix6r45uI.bck @@ -0,0 +1,114 @@ +# 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 + ../../modules/system/tailscale.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Use latest kernel. + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = "styx"; # Define your hostname. + networking.networkmanager.wifi.powersave = false; + # 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; + hardware.bluetooth.enable = true; + services.power-profiles-daemon.enable = true; + services.upower.enable = true; + + # 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"; + }; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users."suri" = { + isNormalUser = true; + description = "suri"; + extraGroups = [ + "networkmanager" + "wheel" + ]; + packages = with pkgs; [ ]; + }; + + # 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 + helix + git + jujutsu + ]; + + # 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 = "26.05"; # Did you read the comment? + +} diff --git a/modules/home/tools/jujutsu/config.toml b/modules/home/tools/jujutsu/config.toml index e665763..37f4b5b 100644 --- a/modules/home/tools/jujutsu/config.toml +++ b/modules/home/tools/jujutsu/config.toml @@ -10,10 +10,10 @@ default-command = ["log", "--reversed"] [revset-aliases] "immutable_heads()" = "builtin_immutable_heads() | (trunk().. & ~mine())" -[signing] -behavior = "own" -backend = "ssh" -key = "~/.ssh/signing_key.pub" +# [signing] +# behavior = "own" +# backend = "ssh" +# key = "~/.ssh/signing_key.pub" [git] write-change-id-header = true diff --git a/users/suri/Styx.nix b/users/suri/Styx.nix index 0eba6ca..5db3bbc 100644 --- a/users/suri/Styx.nix +++ b/users/suri/Styx.nix @@ -1,6 +1,9 @@ -{...}: +{ inputs, config, ... }: { - imports = [./common.nix]; + imports = [ + # inputs.noctalia.homeModules.default + ./common.nix + ]; nyx.oh-my-posh.enable = true; nyx.fish.enable = true; @@ -10,4 +13,16 @@ COLORTERM = "truecolor"; }; + # programs.noctalia = { + # enable = true; + + # settings = { + # theme = { + # mode = "dark"; + # source = "builtin"; + # builtin = "Catppuccin"; + # }; + # }; + # }; + }