diff --git a/flake.lock b/flake.lock index bb9aacd..dd49b44 100644 --- a/flake.lock +++ b/flake.lock @@ -52,30 +52,14 @@ "type": "github" } }, - "base16-foot": { - "flake": false, - "locked": { - "lastModified": 1696725948, - "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", - "owner": "tinted-theming", - "repo": "base16-foot", - "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-foot", - "type": "github" - } - }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1720809814, - "narHash": "sha256-numb3xigRGnr/deF7wdjBwVg7fpbTH7reFDkJ75AJkY=", + "lastModified": 1725860795, + "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "34f41987bec14c0f3f6b2155c19787b1f6489625", + "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9", "type": "github" }, "original": { @@ -84,38 +68,6 @@ "type": "github" } }, - "base16-kitty": { - "flake": false, - "locked": { - "lastModified": 1665001328, - "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", - "owner": "kdrag0n", - "repo": "base16-kitty", - "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", - "type": "github" - }, - "original": { - "owner": "kdrag0n", - "repo": "base16-kitty", - "type": "github" - } - }, - "base16-tmux": { - "flake": false, - "locked": { - "lastModified": 1696725902, - "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", - "owner": "tinted-theming", - "repo": "base16-tmux", - "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-tmux", - "type": "github" - } - }, "base16-vim": { "flake": false, "locked": { @@ -294,11 +246,11 @@ ] }, "locked": { - "lastModified": 1726036828, - "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", + "lastModified": 1727383923, + "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=", "owner": "nix-community", "repo": "home-manager", - "rev": "8a1671642826633586d12ac3158e463c7a50a112", + "rev": "ffe2d07e771580a005e675108212597e5b367d2d", "type": "github" }, "original": { @@ -337,11 +289,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1725978041, - "narHash": "sha256-uqVadX5R8IWzlgAZ55lBOQZRaydw17kN5u5QM0OI3lQ=", + "lastModified": 1726398642, + "narHash": "sha256-tBM92BUtvY3vawqzl50VLY/EFhxw9LjuB/QN6QUC4ls=", "owner": "thiagokokada", "repo": "nix-alien", - "rev": "0ff81b3cb795a5a967488011bec4e3704fbc823d", + "rev": "399c8e50f10d9bace3a024496e5f4dee28bdfdcd", "type": "github" }, "original": { @@ -373,11 +325,11 @@ ] }, "locked": { - "lastModified": 1723352546, - "narHash": "sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8=", + "lastModified": 1726370017, + "narHash": "sha256-CJOV4JiLhd++w9K+h2z00DiB4R1CCuElWzhldrXSq5w=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "ec78079a904d7d55e81a0468d764d0fffb50ac06", + "rev": "0a2fba621b6bbf06be0b4edd974236e3d2fcc1a9", "type": "github" }, "original": { @@ -399,11 +351,11 @@ "rev": "a1ab2a1353a38a6642fbc69f118adc08faf7dbcb", "revCount": 628, "type": "git", - "url": "ssh://git@codeberg.org/nix-astral/nix-minecraft.git" + "url": "https://codeberg.org/nix-astral/nix-minecraft.git" }, "original": { "type": "git", - "url": "ssh://git@codeberg.org/nix-astral/nix-minecraft.git" + "url": "https://codeberg.org/nix-astral/nix-minecraft.git" } }, "nixpkgs": { @@ -424,11 +376,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1723362943, - "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", + "lastModified": 1726062873, + "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a58bc8ad779655e790115244571758e8de055e3d", + "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", "type": "github" }, "original": { @@ -456,11 +408,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1725983898, - "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", + "lastModified": 1727348695, + "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", + "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", "type": "github" }, "original": { @@ -536,24 +488,24 @@ "inputs": { "base16": "base16", "base16-fish": "base16-fish", - "base16-foot": "base16-foot", "base16-helix": "base16-helix", - "base16-kitty": "base16-kitty", - "base16-tmux": "base16-tmux", "base16-vim": "base16-vim", "flake-compat": "flake-compat_3", "flake-utils": "flake-utils_4", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_6", - "systems": "systems_4" + "systems": "systems_4", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1725290973, - "narHash": "sha256-+jwXF9KI0HfvDgpsoJGvOdfOGGSKOrID1wQB79zjUbo=", + "lastModified": 1727635018, + "narHash": "sha256-WSc/MF4dUeB2UPMznXYv4LeKK/ulD4xsufdN/L5PoL4=", "owner": "danth", "repo": "stylix", - "rev": "ef81ad9e85e60420cc83d4642619c14b57139d33", + "rev": "0eea8bcb0f9c3c7638e7ee64f98ed9b4ec716830", "type": "github" }, "original": { @@ -621,6 +573,54 @@ "repo": "default", "type": "github" } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1696725948, + "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1665001328, + "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 05532d2..a3a1857 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,8 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; stylix.url = "github:danth/stylix"; - nix-minecraft.url = "git+ssh://git@codeberg.org/nix-astral/nix-minecraft.git"; + # nix-minecraft.url = "git+ssh://git@codeberg.org/nix-astral/nix-minecraft.git"; + nix-minecraft.url = "git+https://codeberg.org/nix-astral/nix-minecraft.git"; shabitica.url = "github:lomenzel/shabitica"; actual.url = "git+https://git.xeno.science/xenofem/actual-nix.git"; nix-alien.url = "github:thiagokokada/nix-alien"; @@ -26,6 +27,9 @@ # desktop muon = utils.mkHost ./hosts/muon/configuration.nix; + # laptop + muop = utils.mkHost ./hosts/muop/configuration.nix; + # vps mups = utils.mkHost ./hosts/mups/configuration.nix; diff --git a/hosts/muop/configuration.nix b/hosts/muop/configuration.nix new file mode 100644 index 0000000..8a252aa --- /dev/null +++ b/hosts/muop/configuration.nix @@ -0,0 +1,123 @@ +{ config, lib, pkgs, inputs, system, ... }: +let cfg = config.mods; + +in { + # Hardware + imports = [ ./hardware-configuration.nix ]; + + environment.systemPackages = with inputs.nix-alien.packages.${system}; + [ nix-alien ]; + + # System + mods.user.name = "muon"; + networking.hostName = "muop"; + mods.home.file = ./home.nix; + + # Modules + mods.desktop.enable = true; + mods.desktop.wayland.enable = false; + mods.desktop.gaming.enable = true; + mods.boot.enable = false; + + mods.theme.enable = true; + mods.theme.scheme = "woodland"; + mods.theme.wallpaper = ./wallpaper.png; + + mods.containers.steam.enable = false; + mods.server.media.enable = false; + mods.server.astral.enable = false; + mods.server.astral.autoStart = false; + + mods.docker.media.enable = false; + + mods.server.sync.enable = true; + mods.tailscale.enable = false; + mods.openvpn.enable = false; + mods.wireguard.enable = false; + + services.xserver.windowManager.i3.enable = true; + + # Proprietary .useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; + # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/muop/home.nix b/hosts/muop/home.nix new file mode 100644 index 0000000..b0a6b4e --- /dev/null +++ b/hosts/muop/home.nix @@ -0,0 +1,52 @@ +{ pkgs, lib, osConfig,... }: +let cfg = osConfig.mods; in { + # Modules + mods.xdg.enable = true; + mods.social.enable = true; + mods.i3.enable = true; + mods.terminal.zsh.enable = true; + mods.terminal.emulator.enable = true; + mods.terminal.development.enable = true; + mods.terminal.tools.enable = true; + mods.desktop.development.enable = true; + mods.desktop.productivity.enable = true; + mods.desktop.media.enable = true; + + # Hardware preferences + + ## Monitors + xsession.windowManager.i3.config.workspaceOutputAssign = [{ + workspace = "1"; + output = "${cfg.monitors.primary.name}"; + }]; + services.autorandr.enable = true; + programs.autorandr = { + enable = true; + hooks.postswitch = { + "notify-i3" = "${pkgs.i3}/bin/i3-msg restart"; + "set-wallpaper" = '' + ${lib.getExe pkgs.feh} --bg-fill --nofehbg ${./wallpaper.png} + ''; + }; + profiles.default = { + fingerprint = { + "${cfg.monitors.primary.name}" = "00ffffffffffff0030e4190500000000001a01049522137803a1c59459578f27205054000000010101010101010101010101010101012e3680a070381f403020350058c210000019222480a070381f403020350058c210000019000000fd00283c43430e010a20202020202000000002000c47ff0a3c6e1f182b6e000000001c"; + }; + config = { + "${cfg.monitors.primary.name}" = + cfg.monitors.primary.config; + }; + }; + }; + + # wayland.windowManager.hyprland.settings = { + # monitor = [ + # "DP-2,2560x1440@144,0x480,1" + # "HDMI-A-2,1920x1080,2560x0,1,transform,3" + # ]; + # input.sensitivity = -0.4; + # }; + + # Version of first install + home.stateVersion = "23.05"; +} diff --git a/hosts/muop/wallpaper.png b/hosts/muop/wallpaper.png new file mode 100644 index 0000000..9832948 Binary files /dev/null and b/hosts/muop/wallpaper.png differ diff --git a/modules/nixos/desktop/xorg.nix b/modules/nixos/desktop/xorg.nix index 2caef36..f542254 100644 --- a/modules/nixos/desktop/xorg.nix +++ b/modules/nixos/desktop/xorg.nix @@ -1,4 +1,5 @@ -{ pkgs, lib, config, ... }: let +{ pkgs, lib, config, ... }: +let monitorModule = lib.types.submodule { options = { name = lib.mkOption { @@ -21,22 +22,22 @@ in { }; }; - config = let + config = let startupTargets = [ "systemd-user-sessions.service" "multi-user.target" "network-online.target" ]; - + in lib.mkIf config.mods.xorg.enable { services.xserver.enable = true; services.xserver.xkb.layout = "us"; services.xserver.xkb.options = "caps:escape"; - services.xserver.displayManager.gdm.enable = true; + # services.xserver.displayManager.gdm.enable = true; + services.xserver.displayManager.sddm.enable = true; services.displayManager.autoLogin.enable = true; - services.displayManager.autoLogin.user = - config.mods.user.name; + services.displayManager.autoLogin.user = config.mods.user.name; systemd.services.display-manager.wants = startupTargets; systemd.services.display-manager.after = startupTargets; diff --git a/modules/nixos/unfree/nvidia.nix b/modules/nixos/unfree/nvidia.nix index aaf96a7..709aeb9 100644 --- a/modules/nixos/unfree/nvidia.nix +++ b/modules/nixos/unfree/nvidia.nix @@ -1,6 +1,5 @@ { pkgs, lib, config, ... }: -let - cfg = config.mods.unfree.nvidia; +let cfg = config.mods.unfree.nvidia; in { options.mods.unfree.nvidia = { enable = lib.mkEnableOption { @@ -8,7 +7,7 @@ in { description = "enables proprietary nvidia drivers"; }; packages = lib.mkOption { - default = [ "nvidia-x11" ]; + default = [ "nvidia-x11" "nvidia-settings" ]; description = "unfree packages"; }; driver = lib.mkOption { @@ -29,12 +28,12 @@ in { hardware.nvidia = { modesetting.enable = true; - powerManagement.enable = false; + # powerManagement.enable = false; powerManagement.finegrained = false; open = false; - nvidiaSettings = false; - + nvidiaSettings = lib.mkDefault false; + package = config.boot.kernelPackages.nvidiaPackages."${cfg.driver}"; }; };