diff --git a/flake.lock b/flake.lock index d3c77e5..f5ab48d 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1763922789, - "narHash": "sha256-XnkWjCpeXfip9tqYdL0b0zzBDjq+dgdISvEdSVGdVyA=", + "lastModified": 1762356719, + "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "a20a0e67a33b6848378a91b871b89588d3a12573", + "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7", "type": "github" }, "original": { @@ -161,27 +161,6 @@ "type": "github" } }, - "compose2nix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "onchg": "onchg" - }, - "locked": { - "lastModified": 1761743922, - "narHash": "sha256-+VuAe0v+yz0eFmFLoOUZs56LRvTj4ueF4wPSy46LaUw=", - "owner": "aksiksi", - "repo": "compose2nix", - "rev": "ac6c09852f710aa9d4bd5f40efef95cc31424337", - "type": "github" - }, - "original": { - "owner": "aksiksi", - "repo": "compose2nix", - "type": "github" - } - }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -201,11 +180,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -235,21 +214,6 @@ "type": "github" } }, - "flake-utils": { - "locked": { - "lastModified": 1652776076, - "narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "fromYaml": { "flake": false, "locked": { @@ -370,11 +334,11 @@ ] }, "locked": { - "lastModified": 1763733840, - "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=", + "lastModified": 1762462052, + "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a", + "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162", "type": "github" }, "original": { @@ -392,22 +356,23 @@ "hyprland-protocols": "hyprland-protocols", "hyprlang": "hyprlang", "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", + "hyprwayland-scanner": "hyprwayland-scanner_2", "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems", "xdph": "xdph" }, "locked": { - "lastModified": 1764080505, - "narHash": "sha256-2XvDuIqtI7QVjYQx2+NxzL002NU3lzSTIjUikazbSME=", + "lastModified": 1762731096, + "narHash": "sha256-Kma5MxOipSBamO6DnwBeqJNjJ+VwEO73zh9h1hs/2Aw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "1c1746de61a90dbbae072f3fc618c45af33fdd59", + "rev": "967c3c7404d4fa00234e29c70df3e263386d2597", "type": "github" }, "original": { "owner": "hyprwm", + "ref": "v0.52.1-b", "repo": "Hyprland", "type": "github" } @@ -431,10 +396,6 @@ "hyprland", "hyprutils" ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], "nixpkgs": [ "hyprland", "nixpkgs" @@ -445,11 +406,11 @@ ] }, "locked": { - "lastModified": 1763727565, - "narHash": "sha256-vRff/2R1U1jzPBy4OODqh2kfUzmizW/nfV2ROzTDIKo=", + "lastModified": 1762465111, + "narHash": "sha256-dS13YZdWjgGGLBjpT4FHB6xf8I/WiAU+mgNWXsZgDUs=", "owner": "hyprwm", "repo": "hyprland-guiutils", - "rev": "7724d3a12a0453e7aae05f2ef39474219f05a4b4", + "rev": "a415eba866a953f3096d661318f771aa0082eb98", "type": "github" }, "original": { @@ -529,11 +490,11 @@ ] }, "locked": { - "lastModified": 1763819661, - "narHash": "sha256-0jLarTR/BLWdGlboM86bPVP2zKJNI2jvo3JietnDkOM=", + "lastModified": 1758927902, + "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "a318deec0c12409ec39c68d2be8096b636dc2a5c", + "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da", "type": "github" }, "original": { @@ -564,11 +525,7 @@ "hyprland-guiutils", "hyprutils" ], - "hyprwayland-scanner": [ - "hyprland", - "hyprland-guiutils", - "hyprwayland-scanner" - ], + "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": [ "hyprland", "hyprland-guiutils", @@ -581,11 +538,11 @@ ] }, "locked": { - "lastModified": 1763503177, - "narHash": "sha256-VPoiswJBBmTLVuNncvT/8FpFR+sYcAi/LgP/zTZ+5rA=", + "lastModified": 1762463729, + "narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=", "owner": "hyprwm", "repo": "hyprtoolkit", - "rev": "f4e1e12755567ecf39090203b8f43eace8279630", + "rev": "88483bdee5329ec985f0c8f834c519cd18cfe532", "type": "github" }, "original": { @@ -606,11 +563,11 @@ ] }, "locked": { - "lastModified": 1763996058, - "narHash": "sha256-DsqzFZvrEV+aDmavjaD4/bk5qxeZwhGxPWBQdpFyM9Y=", + "lastModified": 1762387740, + "narHash": "sha256-gQ9zJ+pUI4o+Gh4Z6jhJll7jjCSwi8ZqJIhCE2oqwhQ=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "0168583075baffa083032ed13a8bea8ea12f281a", + "rev": "926689ddb9c0a8787e58c02c765a62e32d63d1f7", "type": "github" }, "original": { @@ -623,19 +580,23 @@ "inputs": { "nixpkgs": [ "hyprland", + "hyprland-guiutils", + "hyprtoolkit", "nixpkgs" ], "systems": [ "hyprland", + "hyprland-guiutils", + "hyprtoolkit", "systems" ] }, "locked": { - "lastModified": 1763640274, - "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "type": "github" }, "original": { @@ -644,26 +605,28 @@ "type": "github" } }, - "nix-pre-commit": { + "hyprwayland-scanner_2": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": [ - "compose2nix", - "onchg", + "hyprland", "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" ] }, "locked": { - "lastModified": 1653259102, - "narHash": "sha256-XfCEu4zur/N2Dk4v8wFiQAgJ7bgNqPqwWp1vBXkeczM=", - "owner": "jmgilman", - "repo": "nix-pre-commit", - "rev": "6a99b2711c7eac9960939d8eb91e84322b22d50c", + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "type": "github" }, "original": { - "owner": "jmgilman", - "repo": "nix-pre-commit", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", "type": "github" } }, @@ -683,6 +646,22 @@ "type": "github" } }, + "nixpkgs-fixed": { + "locked": { + "lastModified": 1754292888, + "narHash": "sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I+5OPGEmIE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1761999846, @@ -717,11 +696,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1763966396, - "narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=", + "lastModified": 1762363567, + "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ae3b07d8d6527c42f17c876e404993199144b6a", + "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4", "type": "github" }, "original": { @@ -804,28 +783,6 @@ "type": "github" } }, - "onchg": { - "inputs": { - "nix-pre-commit": "nix-pre-commit", - "nixpkgs": [ - "compose2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1720368454, - "narHash": "sha256-NUSw3G2gsQX8/G64/pDBb1oitM+x13m7nFRvpiI4a+s=", - "owner": "aksiksi", - "repo": "onchg-rs", - "rev": "c42b693d10920874b3644ef1502e33318409d69c", - "type": "github" - }, - "original": { - "owner": "aksiksi", - "repo": "onchg-rs", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -836,11 +793,11 @@ ] }, "locked": { - "lastModified": 1763988335, - "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", + "lastModified": 1762441963, + "narHash": "sha256-j+rNQ119ffYUkYt2YYS6rnd6Jh/crMZmbqpkGLXaEt0=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", + "rev": "8e7576e79b88c16d7ee3bbd112c8d90070832885", "type": "github" }, "original": { @@ -853,11 +810,11 @@ "inputs": { "ags": "ags", "ayugram-desktop": "ayugram-desktop", - "compose2nix": "compose2nix", "home-manager": "home-manager", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", "nixpkgs": "nixpkgs_4", + "nixpkgs-fixed": "nixpkgs-fixed", "nixpkgs-stable": "nixpkgs-stable", "sops-nix": "sops-nix", "stylix": "stylix" diff --git a/flake.nix b/flake.nix index a9f8e15..0b6dad5 100644 --- a/flake.nix +++ b/flake.nix @@ -22,18 +22,14 @@ ayugram-desktop.url = "github:/ayugram-port/ayugram-desktop/release?submodules=1"; ags.url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6"; - + + nixpkgs-fixed.url = "github:nixos/nixpkgs/ce01daebf8489ba97bd1609d185ea276efdeb121"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; sops-nix.url = "github:Mic92/sops-nix"; stylix.url = "github:danth/stylix"; - compose2nix = { - url = "github:aksiksi/compose2nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - hyprland.url = "github:hyprwm/Hyprland"; + hyprland.url = "github:hyprwm/Hyprland/v0.52.1-b"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; @@ -45,7 +41,7 @@ }; }; - outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... }@inputs: + outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-fixed, home-manager, ... }@inputs: let system = "x86_64-linux"; @@ -54,11 +50,11 @@ nixosConfigurations = { WhiteRaven = nixpkgs.lib.nixosSystem { specialArgs = { - pkgs-stable = import nixpkgs-stable { + pkgs-unstable = import nixpkgs { inherit system; config.allowUnfree = true; }; - pkgs-unstable = import nixpkgs { + pkgs-fixed = import nixpkgs-fixed { inherit system; config.allowUnfree = true; }; diff --git a/host/WhiteRaven/configuration.nix b/host/WhiteRaven/configuration.nix index 75ae161..3894548 100644 --- a/host/WhiteRaven/configuration.nix +++ b/host/WhiteRaven/configuration.nix @@ -1,7 +1,7 @@ # 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, pkgs-stable, lib, inputs, ... }: +{ config, pkgs, pkgs-unstable, pkgs-fixed, lib, inputs, ... }: { imports = [ @@ -16,7 +16,8 @@ (import ../../user/common.nix { inherit config; inherit pkgs; - inherit pkgs-stable; + inherit pkgs-unstable; + inherit pkgs-fixed; inherit lib; inherit inputs; name = "kirill"; diff --git a/modules/host.nix b/modules/host.nix index 7115757..6223aef 100644 --- a/modules/host.nix +++ b/modules/host.nix @@ -3,7 +3,6 @@ ./host/bluetooth.nix ./host/bootloader.nix ./host/env.nix - ./host/gamemode.nix ./host/sound.nix ./host/vpn.nix ./host/postgresql.nix diff --git a/modules/host/gamemode.nix b/modules/host/gamemode.nix index 59bcd2b..bfb6455 100644 --- a/modules/host/gamemode.nix +++ b/modules/host/gamemode.nix @@ -8,6 +8,7 @@ protonup-ng bottles heroic + vesktop ]; environment.sessionVariables = { diff --git a/modules/host/postgresql.nix b/modules/host/postgresql.nix index c46cea2..dcf8901 100644 --- a/modules/host/postgresql.nix +++ b/modules/host/postgresql.nix @@ -1,19 +1,26 @@ -{config, pkgs, ... }:{ - config.services.postgresql = { - enable = true; - ensureDatabases = [ "test" ]; - authentication = pkgs.lib.mkOverride 10 '' - #type database DBuser auth-method - local all all trust - # ipv4 - host all all 127.0.0.1/32 trust - # ipv6 - host all all ::1/128 trust - ''; - initialScript = pkgs.writeText "backend-initScript" '' - CREATE ROLE nixcloud WITH LOGIN PASSWORD 'nixcloud' CREATEDB; - CREATE DATABASE nixcloud; - GRANT ALL PRIVILEGES ON DATABASE nixcloud TO nixcloud; - ''; +{ config, pkgs, ... }: { + config = { + services.postgresql = { + enable = true; + ensureDatabases = [ "test" ]; + authentication = pkgs.lib.mkOverride 10 '' + #type database DBuser auth-method + local all all trust + # ipv4 + host all all 127.0.0.1/32 trust + # ipv6 + host all all ::1/128 trust + ''; + initialScript = pkgs.writeText "backend-initScript" '' + CREATE ROLE nixcloud WITH LOGIN PASSWORD 'nixcloud' CREATEDB; + CREATE DATABASE nixcloud; + GRANT ALL PRIVILEGES ON DATABASE nixcloud TO nixcloud; + ''; + }; + + environment.systemPackages = with pkgs; [ + postgresql + dbgate + ]; }; } diff --git a/modules/user.nix b/modules/user.nix index a2703c7..6651dba 100644 --- a/modules/user.nix +++ b/modules/user.nix @@ -1,14 +1,16 @@ -{config, pkgs, ...}: { +{config, lib, ...}: { imports = [ ./user/ags.nix ./user/mako.nix ./user/yazi.nix ./user/sleepMode.nix ./user/ghostty.nix - ./user/home-aps.nix ./user/zed-idea.nix ./user/wofi.nix - ./user/tex.nix ./user/btop.nix + ./user/zsh.nix + ./user/packages/tex.nix + ./user/packages/utils.nix + ./user/packages/desktop.nix ]; } diff --git a/modules/user/home-aps.nix b/modules/user/home-aps.nix deleted file mode 100644 index 2e714dc..0000000 --- a/modules/user/home-aps.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, inputs, ... }: { - home.packages = with pkgs; [ - inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop - ]; -} diff --git a/modules/user/packages/coding.nix b/modules/user/packages/coding.nix new file mode 100644 index 0000000..03c4a07 --- /dev/null +++ b/modules/user/packages/coding.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + jetbrains.idea-community + android-studio + lazygit + git + tree + zed-editor + postgresql + dbgate + ]; +} diff --git a/modules/user/packages/desktop.nix b/modules/user/packages/desktop.nix new file mode 100644 index 0000000..235fb39 --- /dev/null +++ b/modules/user/packages/desktop.nix @@ -0,0 +1,10 @@ +{ pkgs, inputs, pkgs-fixed, ... }: { + home.packages = with pkgs; [ + pkgs-fixed.ayugram-desktop + obs-studio + mpv + obsidian + qbittorrent + libreoffice + ]; +} diff --git a/modules/user/packages/tex.nix b/modules/user/packages/tex.nix new file mode 100644 index 0000000..d6e9bf0 --- /dev/null +++ b/modules/user/packages/tex.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + texstudio + (texlive.combine { + inherit (texlive) + babel-russian + cm-super + cyrillic + hyphen-russian + hyphenat + titlesec + caption + float + xcolor + listings + pagecolor + moresize + raleway + fontawesome5 + luatexbase + fontspec + ragged2e + enumitem + extsizes + multirow + varwidth + paracol + anyfontsize + scheme-basic; + }) + ]; +} diff --git a/modules/user/packages/utils.nix b/modules/user/packages/utils.nix new file mode 100644 index 0000000..2af430e --- /dev/null +++ b/modules/user/packages/utils.nix @@ -0,0 +1,49 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + scrot + ffmpeg + yt-dlp + bat + fd + feh + imv + gromit-mpx + notify-desktop + rtorrent + gparted + git-lfs + unrar + hexyl + jq + litecli + trashy + dig + mtr + imagemagick + wl-clipboard + ]; + + xdg.mimeApps = { + enable = true; + defaultApplications = { + "image/bmp" = "imv.desktop"; + "image/gif" = "imv.desktop"; + "image/jpeg" = "imv.desktop"; + "image/jpg" = "imv.desktop"; + "image/pjpeg" = "imv.desktop"; + "image/png" = "imv.desktop"; + "image/tiff" = "imv.desktop"; + "image/x-bmp" = "imv.desktop"; + "image/x-pcx" = "imv.desktop"; + "image/x-png" = "imv.desktop"; + "image/x-portable-anymap" = "imv.desktop"; + "image/x-portable-bitmap" = "imv.desktop"; + "image/x-portable-graymap" = "imv.desktop"; + "image/x-portable-pixmap" = "imv.desktop"; + "image/x-tga" = "imv.desktop"; + "image/x-xbitmap" = "imv.desktop"; + "image/heif" = "imv.desktop"; + "image/avif" = "imv.desktop"; + }; + }; +} diff --git a/modules/user/tex.nix b/modules/user/tex.nix deleted file mode 100644 index 043eeeb..0000000 --- a/modules/user/tex.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ pkgs, ... }: { - home.packages = with pkgs; [ - texstudio - (texlive.combine { - inherit (texlive) - babel-russian - cm-super - cyrillic - titlesec - hyperref - geometry - caption - float - xcolor - listings - scheme-full; - }) - ]; -} diff --git a/user/common.nix b/user/common.nix index 084edbe..8f1ac10 100644 --- a/user/common.nix +++ b/user/common.nix @@ -1,4 +1,4 @@ -{ pkgs, pkgs-stable, lib, inputs, name, fullname ? name, ... }: { +{config, pkgs, pkgs-unstable, pkgs-fixed, lib, inputs, name, fullname ? name, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager { home-manager = { @@ -25,7 +25,12 @@ }; extraSpecialArgs = { inherit inputs; - inherit pkgs-stable; + pkgs-stable = pkgs; + inherit pkgs-fixed; + host = { + name = config.networking.hostName; + }; + username = name; }; }; } diff --git a/user/kirill/home.nix b/user/kirill/home.nix index f8afcee..e51a062 100644 --- a/user/kirill/home.nix +++ b/user/kirill/home.nix @@ -1,3 +1,9 @@ -{ +{ pkgs, ... }: { + imports = [ + ../../modules/user/packages/coding.nix + ]; programs.hyprlock.enable = true; + home.packages = with pkgs; [ + vivaldi + ]; }