diff --git a/flake.lock b/flake.lock index 08d8251..8850ded 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1752404970, - "narHash": "sha256-XULTToDUkIshNXEO+YP2mAHdQv8bxWDvKjbamBfOC8E=", + "lastModified": 1756474652, + "narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=", "owner": "aylur", "repo": "astal", - "rev": "2c5eb54f39e1710c6e2c80915a240978beb3269a", + "rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd", "type": "github" }, "original": { @@ -57,11 +57,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "lastModified": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", "type": "github" }, "original": { @@ -104,22 +104,6 @@ } }, "flake-compat": { - "locked": { - "lastModified": 1688025799, - "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", - "owner": "nix-community", - "repo": "flake-compat", - "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { - "flake": false, "locked": { "lastModified": 1746162366, "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=", @@ -142,11 +126,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -234,11 +218,11 @@ ] }, "locked": { - "lastModified": 1752814804, - "narHash": "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=", + "lastModified": 1756650373, + "narHash": "sha256-Iz0dNCNvLLxVGjOOF1/TJvZ4iKXE96BTgKDObCs9u+M=", "owner": "nix-community", "repo": "home-manager", - "rev": "d0300c8808e41da81d6edfc202f3d3833c157daf", + "rev": "e44549074a574d8bda612945a88e4a1fd3c456a8", "type": "github" }, "original": { @@ -282,27 +266,27 @@ ] }, "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", "owner": "NuschtOS", "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.8", + "ref": "v0.1.1", "repo": "ixx", "type": "github" } }, "master": { "locked": { - "lastModified": 1752942963, - "narHash": "sha256-DAL+SEKV/jrvbwEcQabUwR+YTx7V09Gbf0zLJIfD4oc=", + "lastModified": 1756651561, + "narHash": "sha256-faSP7fhcgZRRU7jsawfRjxywbfJ+9WOG8pylIBisrsY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "19331827f62c85e29ac14da62a5c26828f138517", + "rev": "1701cc2b57950e077deedc95c9926b3eea4dbb75", "type": "github" }, "original": { @@ -315,54 +299,32 @@ "nixos-apple-silicon": { "inputs": { "flake-compat": "flake-compat", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751622568, - "narHash": "sha256-EE3NBsej517VRa1x+ylAghrvngftxf1KgfHlE9OYyXE=", - "owner": "tpwrules", - "repo": "nixos-apple-silicon", - "rev": "eba4b40c816e5aff8951ae231ac237e8aab8ec1d", - "type": "github" - }, - "original": { - "owner": "tpwrules", - "repo": "nixos-apple-silicon", - "type": "github" - } - }, - "nixos-cosmic": { - "inputs": { - "flake-compat": "flake-compat_2", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable", - "rust-overlay": "rust-overlay" + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1751591814, - "narHash": "sha256-A4lgvuj4v+Pr8MniXz1FBG0DXOygi8tTECR+j53FMhM=", - "owner": "lilyinstarlight", - "repo": "nixos-cosmic", - "rev": "fef2d0c78c4e4d6c600a88795af193131ff51bdc", + "lastModified": 1756110286, + "narHash": "sha256-NE0HwcQCQTgM+HuYqmiemPf/5e+3fjwowceAyJj+ikU=", + "owner": "tpwrules", + "repo": "nixos-apple-silicon", + "rev": "b99bf9bf7445416fe55da09034fc4a6cd733805c", "type": "github" }, "original": { - "owner": "lilyinstarlight", - "repo": "nixos-cosmic", + "owner": "tpwrules", + "repo": "nixos-apple-silicon", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "type": "github" }, "original": { @@ -371,29 +333,13 @@ "type": "indirect" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1751048012, - "narHash": "sha256-MYbotu4UjWpTsq01wglhN5xDRfZYLFtNk7SBY0BcjkU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a684c58d46ebbede49f280b653b9e56100aa3877", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { - "lastModified": 1752480373, - "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", + "lastModified": 1755615617, + "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", + "rev": "20075955deac2583bb12f07151c2df830ef346b4", "type": "github" }, "original": { @@ -413,11 +359,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1752762787, - "narHash": "sha256-WZLSOR2Pei7C4nH/ntKUqOZOAa5rgvc2fVZl4RoEXmw=", + "lastModified": 1756587208, + "narHash": "sha256-pATHF/7rZeEYxnkvLZgrLbCjG4xBJDJ4zkjUiu+hhiU=", "owner": "nix-community", "repo": "nixvim", - "rev": "bc0555c8694d43fb63ae2c7afec08b6987431a04", + "rev": "8bad4d407dace583ebf6a41d32cab479788898fe", "type": "github" }, "original": { @@ -461,11 +407,11 @@ ] }, "locked": { - "lastModified": 1749730855, - "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", + "lastModified": 1755555503, + "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=", "owner": "NuschtOS", "repo": "search", - "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", + "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea", "type": "github" }, "original": { @@ -480,34 +426,12 @@ "home-manager": "home-manager", "master": "master", "nixos-apple-silicon": "nixos-apple-silicon", - "nixos-cosmic": "nixos-cosmic", "nixpkgs": "nixpkgs", "nixvim": "nixvim", "stylix": "stylix", "zen-browser": "zen-browser" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "nixos-cosmic", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751251399, - "narHash": "sha256-y+viCuy/eKKpkX1K2gDvXIJI/yzvy6zA3HObapz9XZ0=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "b22d5ee8c60ed1291521f2dde48784edd6bf695b", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "stylix": { "inputs": { "base16": "base16", @@ -529,11 +453,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752750082, - "narHash": "sha256-NoVAqy+Wj4tgkvrYB8zWncl8Z6Hb80aX3t/TYGdsfaM=", + "lastModified": 1755997543, + "narHash": "sha256-/fejmCQ7AWa655YxyPxRDbhdU7c5+wYsFSjmEMXoBCM=", "owner": "danth", "repo": "stylix", - "rev": "03699ed214f6e8195bc7199d6ae3aeccf9732b08", + "rev": "f47c0edcf71e802378b1b7725fa57bb44fe85ee8", "type": "github" }, "original": { @@ -668,17 +592,38 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixos-apple-silicon", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1754847726, + "narHash": "sha256-2vX8QjO5lRsDbNYvN9hVHXLU6oMl+V/PsmIiJREG4rE=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "7d81f6fb2e19bf84f1c65135d1060d829fae2408", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": "home-manager_2", "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1752809889, - "narHash": "sha256-oTIVrw7Cy2McAVqE7GCot5Fb8Wh4JBsUDKMX8u3DFlU=", + "lastModified": 1756614150, + "narHash": "sha256-ZT+IHU78RzOiO7RhZ64VQyG8HgYz3/sUmUGll/8j8XA=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "f19d2b6b18d4a2e8bf2d6a9f69c934d6726360c4", + "rev": "8c898b127c9989453ebda9c0d1e77c968ef4f0ec", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1f476b5..569447c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,10 +3,6 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; - nixos-cosmic = { - url = "github:lilyinstarlight/nixos-cosmic"; - inputs.nixpkgs.follows = "nixpkgs"; - }; stylix = { url = "github:danth/stylix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -29,7 +25,7 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, stylix, astal, nixpkgs, nixos-cosmic, home-manager, zen-browser, master, nixos-apple-silicon, nixvim }@inputs: + outputs = { self, stylix, astal, nixpkgs, home-manager, zen-browser, master, nixos-apple-silicon, nixvim }@inputs: { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { @@ -37,14 +33,7 @@ specialArgs = {inherit nixvim;}; specialArgs.inputs = inputs; modules = [ - { - nix.settings = { - substituters = [ "https://cosmic.cachix.org/" ]; - trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; - }; - } #stylix.nixosModules.stylix - nixos-cosmic.nixosModules.default ./hosts/desktop/configuration.nix home-manager.nixosModules.home-manager { @@ -62,14 +51,9 @@ specialArgs.inputs = inputs; modules = [ { - nix.settings = { - substituters = [ "https://cosmic.cachix.org/" ]; - trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ]; - }; } nixos-apple-silicon.nixosModules.apple-silicon-support #stylix.nixosModules.stylix - nixos-cosmic.nixosModules.default ./hosts/mac-laptop/configuration.nix home-manager.nixosModules.home-manager { diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index c419285..c16380f 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -69,12 +69,12 @@ boot = { networking.networkmanager.enable = true; - hardware.bluetooth.enable = true; hardware.bluetooth.package = pkgs.bluez; nixpkgs.config.permittedInsecurePackages = [ "electron-31.7.7" + "qtwebengine-5.15.19" ]; environment.variables.AMD_VULKAN_ICD = "RADV"; @@ -105,19 +105,21 @@ boot = { services.desktopManager.plasma6.enable = false; services.displayManager.sddm.enable = false; services.displayManager.cosmic-greeter.enable = false; - services.desktopManager.cosmic.enable = false; + services.desktopManager.cosmic.enable = true; + services.desktopManager.gnome.enable = false; + services.displayManager.gdm.enable = false; /*services.displayManager = { autoLogin.enable = true; autoLogin.user = "joshuaelm"; };*/ security.pam.services.hyprlock = {}; programs.noisetorch.enable = true; - + services.greetd = { enable = true; settings = rec { initial_session = { - command = "${pkgs.hyprland}/bin/Hyprland"; + command = "dbus-launch ${pkgs.hyprland}/bin/Hyprland"; user = "joshuaelm"; }; default_session = initial_session; @@ -140,6 +142,8 @@ boot = { xkb.variant = ""; excludePackages = [ pkgs.xterm ]; }; + + # Enable Swap @@ -210,7 +214,7 @@ hardware.pulseaudio.extraConfig = '' users.users.joshuaelm = { isNormalUser = true; description = "Joshua Elmasri"; - extraGroups = [ "networkmanager" "wheel" "adbusers" ]; + extraGroups = [ "networkmanager" "input" "wheel" "adbusers" ]; shell = pkgs.fish; packages = with pkgs; [ # thunderbird @@ -263,6 +267,33 @@ hardware.pulseaudio.extraConfig = '' nerd-fonts.jetbrains-mono ]; + services.open-webui = { + enable = true; + port = 3246; + host = "0.0.0.0"; + environment = { + ANONYMIZED_TELEMETRY = "False"; + DO_NOT_TRACK = "True"; + SCARF_NO_ANALYTICS = "True"; + OLLAMA_API_BASE_URL = "http://127.0.0.1:11434/api"; + OLLAMA_BASE_URL = "http://127.0.0.1:11434"; + ENABLE_RAG_WEB_SEARCH = "True"; + RAG_WEB_SEARCH_ENGINE = "kagi"; + }; + }; + + services.ollama = { + # package = pkgs.unstable.ollama; # If you want to use the unstable channel package for example + enable = true; + host = "0.0.0.0"; + acceleration = "rocm"; # Or "rocm" + environmentVariables = { # I haven't been able to get this to work, but please see the serviceConfig workaround below + # HOME = "/home/ollama"; + # OLLAMA_MODELS = "/home/ollama/models"; + OLLAMA_HOST = "0.0.0.0:11434"; # Make Ollama accesible outside of localhost + # OLLAMA_ORIGINS = "http://localhost:8080,http://192.168.0.10:*"; # Allow access, otherwise Ollama returns 403 forbidden due to CORS + }; + }; # List packages installed in system profile. To search, run: # $ nix search wget @@ -289,13 +320,14 @@ hardware.pulseaudio.extraConfig = '' teamspeak3 cemu teamspeak6-client + oterm unetbootin labymod-launcher unzip winetricks cowsay pfetch - ryujinx + ryubing hyprpolkitagent gomatrix python3 @@ -304,9 +336,11 @@ hardware.pulseaudio.extraConfig = '' cider xfce.thunar gnomeExtensions.open-bar + parallel-launcher wallust steamtinkerlaunch grub2 + vivaldi cargo inputs.zen-browser.packages."${system}".default qalculate-qt @@ -330,7 +364,6 @@ hardware.pulseaudio.extraConfig = '' protontricks gamescope playerctl - libsForQt5.qt5.qtwebsockets wine alvr bottles @@ -354,7 +387,7 @@ hardware.pulseaudio.extraConfig = '' services.sunshine = { enable = true; - autoStart = true; + autoStart = false; capSysAdmin = true; openFirewall = true; @@ -406,8 +439,8 @@ hardware.pulseaudio.extraConfig = '' services.openssh.allowSFTP = true; # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 7860 3042 47990 48010 5001 ]; - networking.firewall.allowedUDPPorts = [ 7860 3042 47990 4800 48010 ]; + networking.firewall.allowedTCPPorts = [ 7860 3042 3246 9943 9944 7801 11434 47990 48010 5001 ]; + networking.firewall.allowedUDPPorts = [ 7860 9943 9944 3042 47990 3246 11434 7801 4800 48010 ]; # Or disable the firewall altogether. # networking.firewall.enable = false; diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index 955dc5a..b4bdc6e 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -30,6 +30,7 @@ programs.rofi.package = pkgs.rofi-wayland; services.hyprpaper.enable = true; wayland.windowManager.hyprland.enable = true; + wayland.windowManager.hyprland.package = pkgs.hyprland.override {debug = true;}; home.shell.enableFishIntegration = true; home.file.".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic"; diff --git a/modules/hypr/hyprland_desktop.nix b/modules/hypr/hyprland_desktop.nix index 3270e93..35657de 100644 --- a/modules/hypr/hyprland_desktop.nix +++ b/modules/hypr/hyprland_desktop.nix @@ -6,7 +6,7 @@ # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor = HDMI-A-1, 3840x2160@60, 0x0, 1 +monitor = HDMI-A-1, 3840x2160@60, 0x0, 1, bitdepth, 10, sdrsaturation, 1.2, sdrbrightness, 1 #monitor = HDMI-A-1, disable #monitor = sunshine, highres@highrr, 0x0, 1 monitor = DP-1, highres@highrr, 0x0, 1 @@ -23,6 +23,7 @@ exec-once = sunshine # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox +debug:full_cm_proto=true # Set programs that you use $terminal = kitty @@ -51,6 +52,10 @@ input { sensitivity = 0 # -1.0 - 1.0, 0 means no modification. } +render { + cm_fs_passthrough = false +} + general { # See https://wiki.hyprland.org/Configuring/Variables/ for more @@ -63,6 +68,9 @@ general { allow_tearing = false } + +windowrulev2 = immediate, class:^(cs2)$ + decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more @@ -115,6 +123,7 @@ gestures { misc { # See https://wiki.hyprland.org/Configuring/Variables/ for more force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers + enable_anr_dialog = 0 } diff --git a/scripts/SteamDeckOLED b/scripts/SteamDeckOLED index 7b94359..17f5e9c 100755 --- a/scripts/SteamDeckOLED +++ b/scripts/SteamDeckOLED @@ -3,7 +3,7 @@ # Your main monitor (change this) MONITOR="DP-1" -hyprctl keyword monitor HDMI-A-1,1280x800@90,auto,1,bitdepth,10,cm,hdr +hyprctl keyword monitor HDMI-A-1,1280x800@90,auto,1,bitdepth,10 # Disable the monitor hyprctl keyword monitor $MONITOR,disable