diff --git a/flake.lock b/flake.lock index 964299f..fc4ec4e 100644 --- a/flake.lock +++ b/flake.lock @@ -34,30 +34,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": { @@ -66,38 +50,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": { @@ -191,11 +143,11 @@ ] }, "locked": { - "lastModified": 1726611255, - "narHash": "sha256-/bxaYvIK6/d3zqpW26QFS0rqfd0cO4qreSNWvYLTl/w=", + "lastModified": 1729027341, + "narHash": "sha256-IqWD7bA9iJVifvJlB4vs2KUXVhN+d9lECWdNB4jJ0tE=", "owner": "nix-community", "repo": "home-manager", - "rev": "d2493de5cd1da06b6a4c3e97f4e7d5dd791df457", + "rev": "2a4fd1cfd8ed5648583dadef86966a8231024221", "type": "github" }, "original": { @@ -227,11 +179,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1726650330, - "narHash": "sha256-UbHzmaOQ18O/kCizipU70N0UQVFIfv8AiFKXw07oZ9Y=", + "lastModified": 1728729581, + "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "abb448608a56a60075468e90d8acec2a7cb689b1", + "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806", "type": "github" }, "original": { @@ -243,18 +195,14 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726463316, + "lastModified": 0, "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172", - "type": "github" + "path": "/nix/store/cjz8w4dgc3rd2n3dqv5c208vygndjyba-source", + "type": "path" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs_2": { @@ -285,24 +233,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", "flake-utils": "flake-utils", "gnome-shell": "gnome-shell", "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_2", - "systems": "systems" + "systems": "systems", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1726497442, - "narHash": "sha256-fieyqmLEJQqqnuJcg2CAnQ8kHapXHhg9rL48NNWjnPw=", + "lastModified": 1728900372, + "narHash": "sha256-hmG/u7qZEm7CTh1XPDi+pg4Oi0nNrv7sL8PgZDRe6wg=", "owner": "danth", "repo": "stylix", - "rev": "149b313ddf91c3cc94309170498b162cec666675", + "rev": "33a2eff15181e557bb6dd9d2073b90f7d218975d", "type": "github" }, "original": { @@ -325,6 +273,55 @@ "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": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "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 7f71bf8..d779c5d 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,6 @@ description = "Nixos config flake"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; stylix.url = "github:danth/stylix"; @@ -13,40 +12,39 @@ }; outputs = { self, nixpkgs, nixos-hardware, ... }@inputs: - let - system = "x86_64-linux"; - pkg = nixpkgs.legacyPackages.${system}; - in - { - nixosConfigurations = { - laptop = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - ./hosts/laptop/configuration.nix - inputs.home-manager.nixosModules.default - inputs.stylix.nixosModules.stylix - nixos-hardware.nixosModules.lenovo-thinkpad-x13-yoga - ]; - }; + let + system = "x86_64-linux"; + pkg = nixpkgs.legacyPackages.${system}; + in { + nixosConfigurations = { + laptop = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + ./hosts/laptop/configuration.nix + inputs.home-manager.nixosModules.default + inputs.stylix.nixosModules.stylix + nixos-hardware.nixosModules.lenovo-thinkpad-x13-yoga + ]; + }; - server = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - ./hosts/server/configuration.nix - inputs.home-manager.nixosModules.default - nixos-hardware.nixosModules.system76 - ]; - }; + server = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + ./hosts/server/configuration.nix + inputs.home-manager.nixosModules.default + nixos-hardware.nixosModules.system76 + ]; + }; - tablet = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - ./hosts/tablet/configuration.nix - inputs.home-manager.nixosModules.default - nixos-hardware.nixosModules.microsoft-surface-pro-intel - ]; - }; + tablet = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + ./hosts/tablet/configuration.nix + inputs.home-manager.nixosModules.default + nixos-hardware.nixosModules.microsoft-surface-pro-intel + ]; + }; - }; - }; + }; + }; } diff --git a/hosts/home/gnome.nix b/hosts/home/gnome.nix index 4346387..1276373 100644 --- a/hosts/home/gnome.nix +++ b/hosts/home/gnome.nix @@ -10,8 +10,8 @@ # `gnome-extensions list` for a list enabled-extensions = [ "Vitals@CoreCoding.com" - "blur-my-shell@aunetx" - "search-light@icedman.github.com" + "blur-my-shell@aunetx" + "search-light@icedman.github.com" ]; }; }; diff --git a/hosts/home/home_common.nix b/hosts/home/home_common.nix index bf31df3..218315b 100644 --- a/hosts/home/home_common.nix +++ b/hosts/home/home_common.nix @@ -13,6 +13,7 @@ userName = "k"; userEmail = "markers711@gmail.com"; }; + tmux = { enable = true; }; starship.enable = true; zsh = { enable = true; diff --git a/hosts/home/sway.nix b/hosts/home/sway.nix new file mode 100644 index 0000000..2661bee --- /dev/null +++ b/hosts/home/sway.nix @@ -0,0 +1,37 @@ +{ config, pkgs, inputs, ... }: + +{ + imports = [ ./waybar.nix ./tile.nix ]; + + wayland.windowManager.sway = { + enable = true; + config = { + modifier = "Mod4"; + floating.border = 0; + window.border = 1; + window.titlebar = false; + terminal = "${pkgs.alacritty}/bin/alacritty"; + menu = "${pkgs.wofi}/bin/wofi -show drun -modi drun"; + bars = []; + gaps = { + inner = 10; + outer = 5; + }; + }; + }; + + home.sessionVariables = { + MOZ_ENABLE_WAYLAND = "1"; + MOZ_USE_XINPUT2 = "1"; + XDG_SESSION_TYPE = "wayland"; + SDL_VIDEODRIVER = "wayland"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + _JAVA_AWT_WM_NONREPARENTING = 1; + }; + services = { + swayidle = { enable = true; }; + }; + +} + diff --git a/hosts/home/tile.nix b/hosts/home/tile.nix new file mode 100644 index 0000000..b662fe4 --- /dev/null +++ b/hosts/home/tile.nix @@ -0,0 +1,16 @@ +{ config, pkgs, inputs, ... }: + +{ + + services = { + mako = { enable = true; }; + }; + + programs = { + mako = { enable = true; }; + alacritty = { enable = true; }; + swaylock = {enable = true;}; + wofi = { enable = true; }; + }; +} + diff --git a/hosts/home/waybar.nix b/hosts/home/waybar.nix new file mode 100644 index 0000000..48b846b --- /dev/null +++ b/hosts/home/waybar.nix @@ -0,0 +1,73 @@ +{ config, pkgs, ... }: { + programs.waybar = { + enable = true; + systemd.enable = true; + settings = { + mainBar = { + layer = "bottom"; + position = "bottom"; + output = [ "eDP-1" ]; + + modules-left = [ "sway/workspaces" "sway/mode" ]; + modules-center = [ "clock" ]; + modules-right = [ "pulseaudio" "network" "battery" ]; + + cpu = { + interval = 15; + format = " {}%"; + max-length = 15; + }; + + memory = { + interval = 30; + format = " {}%"; + max-length = 15; + }; + + "pulseaudio" = { + format = "{volume}% {icon}"; + format-bluetooth = "{volume}% {icon}"; + format-muted = ""; + format-icons = { + headphone = ""; + hands-free = ""; + headset = ""; + phone = ""; + portable = ""; + car = ""; + default = [ "" "" ]; + }; + scroll-step = 1; + on-click = "pavucontrol"; + }; + + backlight = { + tooltip = false; + format = " {}%"; + interval = 1; + on-scroll-up = "brightnessctl s 1515"; + on-scroll-down = "brightnessctl s 1"; + }; + + network = { + format = "{ifname}"; + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} 󰊗"; + format-disconnected = "󰤮"; + tooltip-format = "{ifname} via {gwaddr} 󰊗"; + tooltip-format-wifi = "{essid} ({signalStrength}%) "; + tooltip-format-ethernet = "{ifname} "; + tooltip-format-disconnected = "Disconnected"; + max-length = 50; + }; + + battery = { + format = "{capacity}% {icon}"; + "format-icons" = [ "" "" "" "" "" ]; + }; + + clock = { "format-alt" = "{:%a, %d. %b %H:%M}"; }; + }; + }; + }; +} diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index b3632e9..c159ec5 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -7,6 +7,8 @@ system.autoUpgrade.enable = true; time.timeZone = "America/New_York"; security.rtkit.enable = true; + security.polkit.enable = true; + security.pam.services.swaylock = {}; powerManagement.enable = true; nix = { @@ -56,13 +58,16 @@ stylix = { enable = true; - polarity = "light"; + autoEnable = true; + polarity = "dark"; image = ./wallpaper.png; - base16Scheme = "${pkgs.base16-schemes}/share/themes/brushtrees.yaml"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/everforest.yaml"; opacity = { - terminal = .85; - popups = .75; + terminal = 0.85; + popups = 0.75; + desktop = 0.75; }; + cursor = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix index 5052165..61841fa 100644 --- a/hosts/laptop/home.nix +++ b/hosts/laptop/home.nix @@ -1,15 +1,10 @@ { config, pkgs, inputs, ... }: { - imports = [ - ../home/home_common.nix - ../home/gnome.nix - ]; - - stylix.enable = true; + imports = [ ../home/home_common.nix ../home/gnome.nix ../home/sway.nix ]; nixpkgs.config.allowUnfree = true; - + home = { packages = with pkgs; [ nerdfonts @@ -21,12 +16,15 @@ btop zip spotify + spicetify-cli distrobox modrinth-app direnv emacs syncthing + texliveFull + ispell ]; }; @@ -46,4 +44,9 @@ defaultEditor = true; }; }; + stylix = { + enable = true; + autoEnable = true; + }; + } diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index 5417d52..4f74910 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -27,24 +27,20 @@ home-manager = { users = { "k" = import ./home.nix; }; }; - environment.systemPackages = with pkgs; [ - microcodeIntel - ]; + environment.systemPackages = with pkgs; [ microcodeIntel ]; hardware.opengl = { - enable = true; - extraPackages = with pkgs; [ - intel-compute-runtime - intel-media-driver - vaapiIntel - vaapiVdpau - libvdpau-va-gl - vpl-gpu-rt - ]; + enable = true; + extraPackages = with pkgs; [ + intel-compute-runtime + intel-media-driver + vaapiIntel + vaapiVdpau + libvdpau-va-gl + vpl-gpu-rt + ]; }; - - - services.xserver.videoDrivers = ["intel"]; + services.xserver.videoDrivers = [ "intel" ]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions diff --git a/hosts/tablet/configuration.nix b/hosts/tablet/configuration.nix index 3cbc642..e040184 100644 --- a/hosts/tablet/configuration.nix +++ b/hosts/tablet/configuration.nix @@ -5,14 +5,12 @@ { config, pkgs, inputs, nixos-hardware, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; - nix.settings.experimental-features = ["nix-command" "flakes"]; + imports = [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.config.allowUnfree = true; - networking.networkmanager.enable = true; # Set your time zone. @@ -33,19 +31,18 @@ LC_TIME = "en_US.UTF-8"; }; - # Enable the X11 windowing system. #services.xserver.enable = true; # Enable the GNOME Desktop Environment. services.xserver.desktopManager.phosh = { - enable = true; - group = ""; - user = "k"; - phocConfig.xwayland = "immediate"; -}; - - # Enable CUPS to print documents. + enable = true; + group = ""; + user = "k"; + phocConfig.xwayland = "immediate"; + }; + + # Enable CUPS to print documents. services.printing.enable = true; services.auto-cpufreq.enable = true; services.thermald.enable = true; @@ -63,38 +60,33 @@ pulse.enable = true; jack.enable = true; }; - - # Enable touchpad support (enabled default in most desktopManager). + + # 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’. - programs.zsh.enable = true; + programs.zsh.enable = true; users.users.k = { isNormalUser = true; description = "k"; extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; [zsh]; + packages = with pkgs; [ zsh ]; shell = pkgs.zsh; }; - home-manager = { - users = { - "k" = import ./home.nix; - }; - }; + home-manager = { users = { "k" = import ./home.nix; }; }; system.autoUpgrade.enable = true; nix.gc.automatic = true; - # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - intel-vaapi-driver - intel-compute-runtime - intel-media-driver - microcodeIntel - gnome-console - neovim + intel-vaapi-driver + intel-compute-runtime + intel-media-driver + microcodeIntel + gnome-console + neovim ]; boot.kernelModules = [ "soc_button_array" ]; diff --git a/hosts/tablet/hardware-configuration.nix b/hosts/tablet/hardware-configuration.nix index 83feedc..7d33460 100644 --- a/hosts/tablet/hardware-configuration.nix +++ b/hosts/tablet/hardware-configuration.nix @@ -4,11 +4,10 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = + [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; @@ -20,21 +19,18 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + fileSystems."/" = { + device = "/dev/disk/by-uuid/479b497e-7807-48e4-82e6-d6468549a281"; + fsType = "ext4"; + }; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/479b497e-7807-48e4-82e6-d6468549a281"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/DACA-E1BC"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/DACA-E1BC"; + fsType = "vfat"; + }; swapDevices = - [ { device = "/dev/disk/by-uuid/19941c01-ac8c-4609-a834-20259f3ee32e"; } - ]; + [{ device = "/dev/disk/by-uuid/19941c01-ac8c-4609-a834-20259f3ee32e"; }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's @@ -44,5 +40,6 @@ # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/tablet/home.nix b/hosts/tablet/home.nix index f479368..a583aea 100644 --- a/hosts/tablet/home.nix +++ b/hosts/tablet/home.nix @@ -25,17 +25,15 @@ enableCompletion = true; syntaxHighlighting.enable = true; autocd = true; - plugins = [ - { - name = "zsh-nix-shell"; - file = "nix-shell.plugin.zsh"; - src = pkgs.fetchFromGitHub { - owner = "chisui"; - repo = "zsh-nix-shell"; - rev = "v0.8.0"; - sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7"; - }; - } - ]; + plugins = [{ + name = "zsh-nix-shell"; + file = "nix-shell.plugin.zsh"; + src = pkgs.fetchFromGitHub { + owner = "chisui"; + repo = "zsh-nix-shell"; + rev = "v0.8.0"; + sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7"; + }; + }]; }; }