pin all leading edge apps to their own nixpkgs so they can update independently
This commit is contained in:
parent
b89d0a67fa
commit
3a0b2e754d
8 changed files with 431 additions and 315 deletions
42
common/flake.lock
generated
42
common/flake.lock
generated
|
|
@ -44,11 +44,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755946532,
|
||||
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
|
||||
"lastModified": 1759499898,
|
||||
"narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
|
||||
"rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -237,11 +237,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1758192433,
|
||||
"narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=",
|
||||
"lastModified": 1759490292,
|
||||
"narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7",
|
||||
"rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -266,11 +266,11 @@
|
|||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759094452,
|
||||
"narHash": "sha256-j7IOTFnQRDjX4PzYb2p6CPviAc8cDrcorzGpM8J89uM=",
|
||||
"lastModified": 1759837778,
|
||||
"narHash": "sha256-12GZqSrRYyhKl7NpNMUQECDi/Zyx17QZhhQ7+mBJMns=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "f854b5bffbdd13cfe7edad0ee157d6947ff99619",
|
||||
"rev": "5ba2d2217b649c4ca2db7e3f383b3f6af6e70d65",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -359,11 +359,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757694755,
|
||||
"narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=",
|
||||
"lastModified": 1759080228,
|
||||
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c",
|
||||
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -388,11 +388,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756810301,
|
||||
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
|
||||
"lastModified": 1758927902,
|
||||
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
|
||||
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -413,11 +413,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756117388,
|
||||
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
|
||||
"lastModified": 1759490926,
|
||||
"narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
|
||||
"rev": "94cce794344538c4d865e38682684ec2bbdb2ef3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -485,11 +485,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1758198701,
|
||||
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=",
|
||||
"lastModified": 1759381078,
|
||||
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d",
|
||||
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
275
hosts/h001/flake.lock
generated
275
hosts/h001/flake.lock
generated
|
|
@ -49,11 +49,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755946532,
|
||||
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
|
||||
"lastModified": 1759499898,
|
||||
"narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
|
||||
"rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -268,11 +268,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1758192433,
|
||||
"narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=",
|
||||
"lastModified": 1759490292,
|
||||
"narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7",
|
||||
"rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -297,11 +297,11 @@
|
|||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759094452,
|
||||
"narHash": "sha256-j7IOTFnQRDjX4PzYb2p6CPviAc8cDrcorzGpM8J89uM=",
|
||||
"lastModified": 1759837778,
|
||||
"narHash": "sha256-12GZqSrRYyhKl7NpNMUQECDi/Zyx17QZhhQ7+mBJMns=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "f854b5bffbdd13cfe7edad0ee157d6947ff99619",
|
||||
"rev": "5ba2d2217b649c4ca2db7e3f383b3f6af6e70d65",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -399,11 +399,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757694755,
|
||||
"narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=",
|
||||
"lastModified": 1759080228,
|
||||
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c",
|
||||
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -431,11 +431,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756810301,
|
||||
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
|
||||
"lastModified": 1758927902,
|
||||
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
|
||||
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -458,11 +458,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756117388,
|
||||
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
|
||||
"lastModified": 1759490926,
|
||||
"narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
|
||||
"rev": "94cce794344538c4d865e38682684ec2bbdb2ef3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -498,6 +498,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"litellm-nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1759733170,
|
||||
"narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8913c168d1c56dc49a7718685968f38752171c3b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1739444422,
|
||||
|
|
@ -550,29 +566,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1759036355,
|
||||
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1758198701,
|
||||
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=",
|
||||
"lastModified": 1759381078,
|
||||
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d",
|
||||
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -616,11 +616,11 @@
|
|||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1759143472,
|
||||
"narHash": "sha256-TvODmeR2W7yX/JmOCmP+lAFNkTT7hAxYcF3Kz8SZV3w=",
|
||||
"lastModified": 1759735786,
|
||||
"narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23",
|
||||
"rev": "20c4598c84a671783f741e02bf05cbfaf4907cff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -632,11 +632,11 @@
|
|||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1757952092,
|
||||
"narHash": "sha256-BcfTLFCU7elUJ2dwyt0iTjxsz/XLh+8ZygDcFwy6xPE=",
|
||||
"lastModified": 1759772810,
|
||||
"narHash": "sha256-8/sO67+Q6yNfFD39W5SXQHDbf/tQUHWFhCdxgRRGVCQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fd76dc9e7c68ac7c3941ba2af2bedcd79c5cf4ed",
|
||||
"rev": "2b78ecc45e163d655c08c9a4cffb4a91c66d0493",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -664,11 +664,11 @@
|
|||
"nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757950300,
|
||||
"narHash": "sha256-IQTP3jOmFNc2nphV9jdFbJXkmAN5Wj+/PIGmaZ8gP24=",
|
||||
"lastModified": 1759715887,
|
||||
"narHash": "sha256-9wXyswKnUenlZyO/aIy0gr1hF0IhuEJ0UOwvqjDSGjA=",
|
||||
"owner": "CopilotC-Nvim",
|
||||
"repo": "CopilotChat.nvim",
|
||||
"rev": "87615648ff4dc852d1cf7ec099f0a7c37b1b2c87",
|
||||
"rev": "92f269971c33a6e2f405da8b14f01cd109b9a3a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -696,11 +696,11 @@
|
|||
"nvim_plugin-L3MON4D3/LuaSnip": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756990415,
|
||||
"narHash": "sha256-5FsUVPy8pAiwBh3c+bPDMtypFEHj6qIwGQIo3hjqV4M=",
|
||||
"lastModified": 1759157591,
|
||||
"narHash": "sha256-sicE0/Vgc03X+Qxqlu5CM7NGd+6FE9RGx6OjZUa6Umw=",
|
||||
"owner": "L3MON4D3",
|
||||
"repo": "LuaSnip",
|
||||
"rev": "21f74f7ba8c49f95f9d7c8293b147c2901dd2d3a",
|
||||
"rev": "73813308abc2eaeff2bc0d3f2f79270c491be9d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -712,11 +712,11 @@
|
|||
"nvim_plugin-MeanderingProgrammer/render-markdown.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757910669,
|
||||
"narHash": "sha256-PWbFcGRbTMRhDJrj+kx73HLduMLOSrAhZTLL2YgrAjQ=",
|
||||
"lastModified": 1759424904,
|
||||
"narHash": "sha256-Smt9v6/XyHUdUiIPyCPQSRvWCeMMhYITSZWd9M7Jlvs=",
|
||||
"owner": "MeanderingProgrammer",
|
||||
"repo": "render-markdown.nvim",
|
||||
"rev": "2c6cf127c577712bd29d38f6391b3045c5f0180a",
|
||||
"rev": "7e6af36c846017122e07e68803bbf95f3c729ca3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -776,11 +776,11 @@
|
|||
"nvim_plugin-aznhe21/actions-preview.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1745779150,
|
||||
"narHash": "sha256-rQjwlu5gQcOvxF72lr9ugPRl0W78wCWGWPhpN1oOMbs=",
|
||||
"lastModified": 1759462626,
|
||||
"narHash": "sha256-YUeWBXxxeurfWBi0PjUi6izqYAvUw9DHmvsuPXm7ohw=",
|
||||
"owner": "aznhe21",
|
||||
"repo": "actions-preview.nvim",
|
||||
"rev": "36513ad213855d497b7dd3391a24d1d75d58e36f",
|
||||
"rev": "cb938c25edaac38d362555f19244a9cb85d561e8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -792,11 +792,11 @@
|
|||
"nvim_plugin-b0o/schemastore.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757653237,
|
||||
"narHash": "sha256-94NKAVWPV2sLkGWWL9G07QxA90Ise6tNWaYyKBcS/vI=",
|
||||
"lastModified": 1759454886,
|
||||
"narHash": "sha256-T6mWvScsU0IsB3wFre5+TrNIbpQCA0flf7BNrGQIb+M=",
|
||||
"owner": "b0o",
|
||||
"repo": "schemastore.nvim",
|
||||
"rev": "3146720ee3a0c6e2446eedd492fb519d16f2e467",
|
||||
"rev": "8e17e50b519ba360bcfd5dfb5843ccac9be500ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -808,11 +808,11 @@
|
|||
"nvim_plugin-catppuccin/nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755621274,
|
||||
"narHash": "sha256-o8VLMPriOh4+Ay5Ff0cWQYXjmihdr3x9131bKHHTsQE=",
|
||||
"lastModified": 1759668198,
|
||||
"narHash": "sha256-WmWGygttH78KajAaIvlwRW47G7UGJuPV0YIfEZkse6I=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nvim",
|
||||
"rev": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86",
|
||||
"rev": "e79d09fa347b367e0e7f693bfe87dba932a8cbd1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -856,11 +856,11 @@
|
|||
"nvim_plugin-folke/lazy.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1740511197,
|
||||
"narHash": "sha256-nQ8PR9DTdzg6Z2rViuVD6Pswc2VvDQwS3uMNgyDh5ls=",
|
||||
"lastModified": 1759439283,
|
||||
"narHash": "sha256-FjQ2rj3BvC8fh60IT0ExrBOmdDLdXFexffef6iKcPFQ=",
|
||||
"owner": "folke",
|
||||
"repo": "lazy.nvim",
|
||||
"rev": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a",
|
||||
"rev": "59334064f8604ca073791c25dcc5c9698865406e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -888,11 +888,11 @@
|
|||
"nvim_plugin-folke/which-key.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1740233407,
|
||||
"narHash": "sha256-uvMcSduMr7Kd2oUmIOYzvWF4FIl6bZxIYm9FSw/3pCo=",
|
||||
"lastModified": 1758639622,
|
||||
"narHash": "sha256-JNkjlv6QpnuaYCAFcBPjV7IavVLzj8QEX/Zi3sbdyrU=",
|
||||
"owner": "folke",
|
||||
"repo": "which-key.nvim",
|
||||
"rev": "370ec46f710e058c9c1646273e6b225acf47cbed",
|
||||
"rev": "904308e6885bbb7b60714c80ab3daf0c071c1492",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -968,11 +968,11 @@
|
|||
"nvim_plugin-j-hui/fidget.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755700851,
|
||||
"narHash": "sha256-KRlUqUdcliKpLnEJqyA2OAWto73F6iGTbMrsiAdc24M=",
|
||||
"lastModified": 1758578970,
|
||||
"narHash": "sha256-ieY3zaQAydzadpPiW1/IYakVHhp+wyEOpCQntgDOObs=",
|
||||
"owner": "j-hui",
|
||||
"repo": "fidget.nvim",
|
||||
"rev": "4d5858bd4c471c895060e1b9f3575f1551184dc5",
|
||||
"rev": "3f5475949679953af6d78654db29b944fa826e6a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1000,11 +1000,11 @@
|
|||
"nvim_plugin-lewis6991/gitsigns.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757668552,
|
||||
"narHash": "sha256-L5WbNiFUn014hThvGfb5r858O6iLOBhOQHfVUdIlFI4=",
|
||||
"lastModified": 1759324477,
|
||||
"narHash": "sha256-GDK9I3SNRyZe59+GsnDC0L2KjGr150dWo4S3DUwhT7U=",
|
||||
"owner": "lewis6991",
|
||||
"repo": "gitsigns.nvim",
|
||||
"rev": "f780609807eca1f783a36a8a31c30a48fbe150c5",
|
||||
"rev": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1064,11 +1064,11 @@
|
|||
"nvim_plugin-mbbill/undotree": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756538456,
|
||||
"narHash": "sha256-tudR+46nd63jY1VTCNEfZ2CofxCODXaHos0+NdFI6wU=",
|
||||
"lastModified": 1759186837,
|
||||
"narHash": "sha256-EWOH08KAWyoT9m45/B1d5aKQQJtd3k4orJbagVsxe08=",
|
||||
"owner": "mbbill",
|
||||
"repo": "undotree",
|
||||
"rev": "fe9a9d0645f0f5532360b5e5f5c550d7bb4f1869",
|
||||
"rev": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1080,11 +1080,11 @@
|
|||
"nvim_plugin-mfussenegger/nvim-lint": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757878177,
|
||||
"narHash": "sha256-8X9z0pRWx9xg9nQhhQtuOu3TunObg2CIgnlPXZtx86A=",
|
||||
"lastModified": 1758714671,
|
||||
"narHash": "sha256-POnQfsZAv93+0uCbKFcNgyQxn3u8nNqgnx0uTqCkCq8=",
|
||||
"owner": "mfussenegger",
|
||||
"repo": "nvim-lint",
|
||||
"rev": "0864f81c681e15d9bdc1156fe3a17bd07db5a3ed",
|
||||
"rev": "335a6044be16d7701001059cba9baa36fbeef422",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1096,11 +1096,11 @@
|
|||
"nvim_plugin-mrcjkb/rustaceanvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757809469,
|
||||
"narHash": "sha256-bijgDZozBNmHW3cASmOrQlaSE80d8V3XRxi1BNmfzRI=",
|
||||
"lastModified": 1759623626,
|
||||
"narHash": "sha256-Cz4LDzz7v3kBS1mbxZjprogqHFghYr5xMfSN3us2Ltk=",
|
||||
"owner": "mrcjkb",
|
||||
"repo": "rustaceanvim",
|
||||
"rev": "370b85298e5afdfd8b5d3da0c60c04e3873499a4",
|
||||
"rev": "96a4f5efc7705f613ddd47fb5d1445c172acb213",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1112,11 +1112,11 @@
|
|||
"nvim_plugin-neovim/nvim-lspconfig": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757886255,
|
||||
"narHash": "sha256-lIlFgHkesAK7fRcoEEQO84/0BpE29dBgNzBnCv/0Tf0=",
|
||||
"lastModified": 1759548517,
|
||||
"narHash": "sha256-K56vjTUkQ/NdA6vq5942zUknPiCUbMByiEW540dR8R0=",
|
||||
"owner": "neovim",
|
||||
"repo": "nvim-lspconfig",
|
||||
"rev": "d9879110d0422a566fa01d732556f4d5515e1738",
|
||||
"rev": "e688b486fe9291f151eae7e5c0b5a5c4ef980847",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1128,11 +1128,11 @@
|
|||
"nvim_plugin-nosduco/remote-sshfs.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1755703322,
|
||||
"narHash": "sha256-xy+50CsRd0LfRyDtNNMI8KhzvjH2nt8ogwiXf7H3fYY=",
|
||||
"lastModified": 1759193354,
|
||||
"narHash": "sha256-FfUxpRfqrf0r56/gi76N2ZooWnXWO0aRtaQBS7m+SvY=",
|
||||
"owner": "nosduco",
|
||||
"repo": "remote-sshfs.nvim",
|
||||
"rev": "8b0974c0e23ef086f5598ebbb1980257171dc370",
|
||||
"rev": "45502b3892774811153aeab5f7f9b0033c82005c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1256,11 +1256,11 @@
|
|||
"nvim_plugin-nvim-tree/nvim-tree.lua": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757312802,
|
||||
"narHash": "sha256-Km+PWXJJLl8zsBjwIGL//qT/eUEZna4yYRPsWXMXG1E=",
|
||||
"lastModified": 1759222332,
|
||||
"narHash": "sha256-TmQd8Xx9xw3G9PfPH+DZeSECfiUoO7XKCUSyQ4O0hMk=",
|
||||
"owner": "nvim-tree",
|
||||
"repo": "nvim-tree.lua",
|
||||
"rev": "e179ad2f83b5955ab0af653069a493a1828c2697",
|
||||
"rev": "87d096a39cb2d5d43e6771563575ff042a79f48b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1272,11 +1272,11 @@
|
|||
"nvim_plugin-nvim-tree/nvim-web-devicons": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756936794,
|
||||
"narHash": "sha256-2Q6ZZQj5HFXTw1YwX3ibdGOTwfbfPUBbcPOsuBUpSjc=",
|
||||
"lastModified": 1759188261,
|
||||
"narHash": "sha256-lVrakFrpIP9lp7sMfMb33KeMPIkcn1qBFVytJzKCfuE=",
|
||||
"owner": "nvim-tree",
|
||||
"repo": "nvim-web-devicons",
|
||||
"rev": "6e51ca170563330e063720449c21f43e27ca0bc1",
|
||||
"rev": "b8221e42cf7287c4dcde81f232f58d7b947c210d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1336,11 +1336,11 @@
|
|||
"nvim_plugin-rmagatti/auto-session": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757864222,
|
||||
"narHash": "sha256-FbN36vVLX3DUXwefTbi6511R6KTHqLiNHeAR0kXiarg=",
|
||||
"lastModified": 1759618137,
|
||||
"narHash": "sha256-+RYQi685tyV73WNXpgr/Q5p3o21dSUkQmSoif+EPBVM=",
|
||||
"owner": "rmagatti",
|
||||
"repo": "auto-session",
|
||||
"rev": "5a269bb5bec50b8b60564aa00f6454d9e82fbe8d",
|
||||
"rev": "0385a9ad378d70608c2e6e4c14b3b126ce30fc51",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1400,11 +1400,11 @@
|
|||
"nvim_plugin-stevearc/conform.nvim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1756334700,
|
||||
"narHash": "sha256-j9TOSx2L19AHABdg9pLtmEUtPOCIUSo0qe2YUPBlZ5g=",
|
||||
"lastModified": 1759554032,
|
||||
"narHash": "sha256-JX+vFs+8n4PS7Xwq68MW2mjlDaLlUx6CxMqhf9ArfXQ=",
|
||||
"owner": "stevearc",
|
||||
"repo": "conform.nvim",
|
||||
"rev": "b4aab989db276993ea5dcb78872be494ce546521",
|
||||
"rev": "9d859cbfbde7a1bd1770e7c97aef30ec5a237a71",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1512,11 +1512,11 @@
|
|||
"nvim_plugin-zbirenbaum/copilot.lua": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757884406,
|
||||
"narHash": "sha256-sXobILIsV4nnk9//PbFT4L1BsHP1xSJiuibVbGwYXJ8=",
|
||||
"lastModified": 1759697885,
|
||||
"narHash": "sha256-PwqJ7/FCfK4AqFgguZ2Tac5RWhehSEfI1N6ySSuTbZc=",
|
||||
"owner": "zbirenbaum",
|
||||
"repo": "copilot.lua",
|
||||
"rev": "8aebaa3a102125fedf08c98773a0a8def92fff37",
|
||||
"rev": "30b98a4c25d6152c14084020f703b6d56e1f1122",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1525,6 +1525,38 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"oauth2-proxy-nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1759733170,
|
||||
"narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8913c168d1c56dc49a7718685968f38752171c3b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"open-webui-nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1759036355,
|
||||
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
|
|
@ -1574,10 +1606,13 @@
|
|||
"root": {
|
||||
"inputs": {
|
||||
"common": "common",
|
||||
"litellm-nixpkgs": "litellm-nixpkgs",
|
||||
"nixarr": "nixarr",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"ros_neovim": "ros_neovim"
|
||||
"oauth2-proxy-nixpkgs": "oauth2-proxy-nixpkgs",
|
||||
"open-webui-nixpkgs": "open-webui-nixpkgs",
|
||||
"ros_neovim": "ros_neovim",
|
||||
"trilium-nixpkgs": "trilium-nixpkgs"
|
||||
}
|
||||
},
|
||||
"ros_neovim": {
|
||||
|
|
@ -1641,11 +1676,11 @@
|
|||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1758041510,
|
||||
"narHash": "sha256-vcK6ZwAWNfjdDFYKLVrWk+azva58AiDpm8nMfIniFWA=",
|
||||
"lastModified": 1759881611,
|
||||
"narHash": "sha256-OrWyZDLEafAP90pCun/6mE1F88znpJYi3rRIHQo8Wrs=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "b3dbdf3f7360747987bf38bcdd9baf01b4906929",
|
||||
"revCount": 304,
|
||||
"rev": "31a6fc294d8db6fc3c89e60321e052bae8b9e96b",
|
||||
"revCount": 308,
|
||||
"type": "git",
|
||||
"url": "https://git.joshuabell.xyz/ringofstorms/nvim"
|
||||
},
|
||||
|
|
@ -1684,11 +1719,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1757930296,
|
||||
"narHash": "sha256-Z9u5VszKs8rfEvg2AsFucWEjl7wMtAln9l1b78cfBh4=",
|
||||
"lastModified": 1759718104,
|
||||
"narHash": "sha256-TbkLsgdnXHUXR4gOQBmhxkEE9ne+eHmX1chZHWRogy0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "09442765a05c2ca617c20ed68d9613da92a2d96b",
|
||||
"rev": "edea9f33f9a03f615ad3609a40fbcefe0ec835ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -1742,6 +1777,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"trilium-nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1759733170,
|
||||
"narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8913c168d1c56dc49a7718685968f38752171c3b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"vpnconfinement": {
|
||||
"locked": {
|
||||
"lastModified": 1743810720,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@
|
|||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
# nixpkgs-unstable.url = "github:wrvsrx/nixpkgs/fix-open-webui";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
open-webui-nixpkgs.url = "github:nixos/nixpkgs/e9f00bd893984bc8ce46c895c3bf7cac95331127";
|
||||
litellm-nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
trilium-nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
oauth2-proxy-nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
# Use relative to get current version for testing
|
||||
common.url = "path:../../common";
|
||||
|
|
@ -31,10 +34,6 @@
|
|||
lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
upkgs = import inputs.nixpkgs-unstable {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
modules = [
|
||||
common.nixosModules.default
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
}:
|
||||
{
|
||||
imports = [
|
||||
./litellm.nix
|
||||
./nixarr.nix
|
||||
./monitoring.nix
|
||||
./pinchflat.nix
|
||||
|
|
|
|||
169
hosts/h001/mods/litellm.nix
Normal file
169
hosts/h001/mods/litellm.nix
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
{
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
declaration = "services/misc/litellm.nix";
|
||||
nixpkgs = inputs.open-webui-nixpkgs;
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
port = 8094;
|
||||
in
|
||||
{
|
||||
disabledModules = [ declaration ];
|
||||
imports = [ "${nixpkgs}/nixos/modules/${declaration}" ];
|
||||
options = { };
|
||||
config = {
|
||||
networking.firewall.enable = true;
|
||||
# Expose litellm to my overlay network as well
|
||||
networking.firewall.interfaces."tailscale0".allowedTCPPorts = [ port ];
|
||||
|
||||
services.litellm = {
|
||||
enable = true;
|
||||
inherit port;
|
||||
host = "0.0.0.0";
|
||||
openFirewall = false;
|
||||
package = pkgs.litellm;
|
||||
environment = {
|
||||
SCARF_NO_ANALYTICS = "True";
|
||||
DO_NOT_TRACK = "True";
|
||||
ANONYMIZED_TELEMETRY = "False";
|
||||
GITHUB_COPILOT_TOKEN_DIR = "/var/lib/litellm/github_copilot";
|
||||
XDG_CONFIG_HOME = "/var/lib/litellm/.config";
|
||||
};
|
||||
settings = {
|
||||
environment_variables = {
|
||||
LITELLM_PROXY_API_KEY = "na";
|
||||
};
|
||||
litellm_settings = {
|
||||
check_provider_endpoints = true;
|
||||
};
|
||||
model_list = [
|
||||
# existing
|
||||
{
|
||||
model_name = "GPT-5";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-5-2025-08-07";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-5-mini";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-5-mini-2025-08-07";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-5-nano";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-5-nano-2025-08-07";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
# {
|
||||
# model_name = "GPT-5-codex";
|
||||
# litellm_params = {
|
||||
# model = "azure/gpt-5-codex-2025-09-15";
|
||||
# api_base = "http://100.64.0.8:9010/azure";
|
||||
# api_version = "2025-04-01-preview";
|
||||
# api_key = "na";
|
||||
# };
|
||||
# }
|
||||
{
|
||||
model_name = "GPT-4.1";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-4.1-2025-04-14";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-4.1-mini";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-4.1-mini-2025-04-14";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-4o";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-4o-2024-05-13";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
# {
|
||||
# model_name = "dall-e-3-3.0";
|
||||
# litellm_params = {
|
||||
# model = "azure/dall-e-3-3.0";
|
||||
# api_base = "http://100.64.0.8:9010/azure";
|
||||
# api_version = "2025-04-01-preview";
|
||||
# api_key = "na";
|
||||
# };
|
||||
# }
|
||||
|
||||
# Copilot
|
||||
{
|
||||
model_name = "copilot-claude-sonnet-4";
|
||||
litellm_params = {
|
||||
model = "github_copilot/claude-sonnet-4";
|
||||
extra_headers = {
|
||||
"editor-version" = "vscode/1.85.1";
|
||||
"Copilot-Integration-Id" = "vscode-chat";
|
||||
"user-agent" = "GithubCopilot/1.155.0";
|
||||
"editor-plugin-version" = "copilot/1.155.0";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "copilot-google-gemini-2.5-pro";
|
||||
litellm_params = {
|
||||
model = "github_copilot/gemini-2.5-pro";
|
||||
extra_headers = {
|
||||
"editor-version" = "vscode/1.85.1";
|
||||
"Copilot-Integration-Id" = "vscode-chat";
|
||||
"user-agent" = "GithubCopilot/1.155.0";
|
||||
"editor-plugin-version" = "copilot/1.155.0";
|
||||
};
|
||||
};
|
||||
}
|
||||
# {
|
||||
# model_name = "copilot-google-gemini-2.0-flash";
|
||||
# litellm_params = {
|
||||
# model = "github_copilot/gemini-2.0-flash";
|
||||
# extra_headers = {
|
||||
# "editor-version" = "vscode/1.85.1";
|
||||
# "Copilot-Integration-Id" = "vscode-chat";
|
||||
# "user-agent" = "GithubCopilot/1.155.0";
|
||||
# "editor-plugin-version" = "copilot/1.155.0";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
|
||||
# 宙 Proxy
|
||||
# {
|
||||
# model_name = "litellm_proxy/*";
|
||||
# litellm_params = {
|
||||
# model = "litellm_proxy/*";
|
||||
# api_base = "http://100.64.0.8:9010/air_key";
|
||||
# api_key = "os.environ/LITELLM_PROXY_API_KEY";
|
||||
# };
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,40 +1,56 @@
|
|||
{ upkgs, config, ... }:
|
||||
{
|
||||
services.oauth2-proxy = {
|
||||
enable = true;
|
||||
httpAddress = "http://127.0.0.1:4180";
|
||||
package = upkgs.oauth2-proxy;
|
||||
provider = "oidc";
|
||||
reverseProxy = true;
|
||||
redirectURL = "https://sso-proxy.joshuabell.xyz/oauth2/callback";
|
||||
validateURL = "https://sso.joshuabell.xyz/oauth2/";
|
||||
oidcIssuerUrl = "https://sso.joshuabell.xyz";
|
||||
keyFile = config.age.secrets.oauth2_proxy_key_file.path;
|
||||
nginx.domain = "sso-proxy.joshuabell.xyz";
|
||||
email.domains = [ "*" ];
|
||||
extraConfig = {
|
||||
whitelist-domain = "*.joshuabell.xyz";
|
||||
cookie-domain = ".joshuabell.xyz";
|
||||
oidc-groups-claim = "flatRolesClaim";
|
||||
# scope = "openid email profiles";
|
||||
|
||||
# pass-access-token = "true";
|
||||
# set-authorization-header = "true";
|
||||
# pass-user-headers = "true";
|
||||
|
||||
# show-debug-on-error = "true";
|
||||
# errors-to-info-log = "true";
|
||||
};
|
||||
cookie.refresh = "30m";
|
||||
# setXauthrequest = true;
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
declaration = "services/security/oauth2-proxy.nix";
|
||||
nixpkgs = inputs.open-webui-nixpkgs;
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
disabledModules = [ declaration ];
|
||||
imports = [ "${nixpkgs}/nixos/modules/${declaration}" ];
|
||||
config = {
|
||||
services.oauth2-proxy = {
|
||||
enable = true;
|
||||
httpAddress = "http://127.0.0.1:4180";
|
||||
package = pkgs.oauth2-proxy;
|
||||
provider = "oidc";
|
||||
reverseProxy = true;
|
||||
redirectURL = "https://sso-proxy.joshuabell.xyz/oauth2/callback";
|
||||
validateURL = "https://sso.joshuabell.xyz/oauth2/";
|
||||
oidcIssuerUrl = "https://sso.joshuabell.xyz";
|
||||
keyFile = config.age.secrets.oauth2_proxy_key_file.path;
|
||||
nginx.domain = "sso-proxy.joshuabell.xyz";
|
||||
email.domains = [ "*" ];
|
||||
extraConfig = {
|
||||
whitelist-domain = "*.joshuabell.xyz";
|
||||
cookie-domain = ".joshuabell.xyz";
|
||||
oidc-groups-claim = "flatRolesClaim";
|
||||
# scope = "openid email profiles";
|
||||
|
||||
services.nginx.virtualHosts."sso-proxy.joshuabell.xyz" = {
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyWebsockets = true;
|
||||
recommendedProxySettings = true;
|
||||
proxyPass = "http://127.0.0.1:4180";
|
||||
# pass-access-token = "true";
|
||||
# set-authorization-header = "true";
|
||||
# pass-user-headers = "true";
|
||||
|
||||
# show-debug-on-error = "true";
|
||||
# errors-to-info-log = "true";
|
||||
};
|
||||
cookie.refresh = "30m";
|
||||
# setXauthrequest = true;
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts."sso-proxy.joshuabell.xyz" = {
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyWebsockets = true;
|
||||
recommendedProxySettings = true;
|
||||
proxyPass = "http://127.0.0.1:4180";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,20 +1,19 @@
|
|||
{
|
||||
upkgs,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
declaration = "services/misc/open-webui.nix";
|
||||
nixpkgs = inputs.open-webui-nixpkgs;
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
# Use unstable services
|
||||
disabledModules = [
|
||||
"services/misc/open-webui.nix"
|
||||
"services/misc/litellm.nix"
|
||||
];
|
||||
imports = [
|
||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/misc/open-webui.nix"
|
||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/misc/litellm.nix"
|
||||
];
|
||||
|
||||
disabledModules = [ declaration ];
|
||||
imports = [ "${nixpkgs}/nixos/modules/${declaration}" ];
|
||||
options = { };
|
||||
config = {
|
||||
services.nginx.virtualHosts."chat.joshuabell.xyz" = {
|
||||
|
|
@ -35,7 +34,7 @@
|
|||
port = 8084;
|
||||
host = "127.0.0.1";
|
||||
openFirewall = false;
|
||||
package = upkgs.open-webui;
|
||||
package = pkgs.open-webui;
|
||||
environmentFile = config.age.secrets.openwebui_env.path;
|
||||
environment = {
|
||||
# Declarative config, we don't use admin panel for anything
|
||||
|
|
@ -68,134 +67,5 @@
|
|||
# OAUTH_UPDATE_PICTURE_ON_LOGIN = "True";
|
||||
};
|
||||
};
|
||||
|
||||
services.litellm = {
|
||||
enable = true;
|
||||
port = 8094;
|
||||
openFirewall = false;
|
||||
package = upkgs.litellm;
|
||||
environment = {
|
||||
SCARF_NO_ANALYTICS = "True";
|
||||
DO_NOT_TRACK = "True";
|
||||
ANONYMIZED_TELEMETRY = "False";
|
||||
GITHUB_COPILOT_TOKEN_DIR = "/var/lib/litellm/github_copilot";
|
||||
XDG_CONFIG_HOME = "/var/lib/litellm/.config";
|
||||
};
|
||||
settings = {
|
||||
model_list = [
|
||||
# existing
|
||||
{
|
||||
model_name = "GPT-5";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-5-2025-08-07";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-5-mini";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-5-mini-2025-08-07";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-5-nano";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-5-nano-2025-08-07";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
# {
|
||||
# model_name = "GPT-5-codex";
|
||||
# litellm_params = {
|
||||
# model = "azure/gpt-5-codex-2025-09-15";
|
||||
# api_base = "http://100.64.0.8:9010/azure";
|
||||
# api_version = "2025-04-01-preview";
|
||||
# api_key = "na";
|
||||
# };
|
||||
# }
|
||||
{
|
||||
model_name = "GPT-4.1";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-4.1-2025-04-14";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-4.1-mini";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-4.1-mini-2025-04-14";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "GPT-4o";
|
||||
litellm_params = {
|
||||
model = "azure/gpt-4o-2024-05-13";
|
||||
api_base = "http://100.64.0.8:9010/azure";
|
||||
api_version = "2025-04-01-preview";
|
||||
api_key = "na";
|
||||
};
|
||||
}
|
||||
# {
|
||||
# model_name = "dall-e-3-3.0";
|
||||
# litellm_params = {
|
||||
# model = "azure/dall-e-3-3.0";
|
||||
# api_base = "http://100.64.0.8:9010/azure";
|
||||
# api_version = "2025-04-01-preview";
|
||||
# api_key = "na";
|
||||
# };
|
||||
# }
|
||||
|
||||
# Copilot
|
||||
{
|
||||
model_name = "copilot-claude-sonnet-4";
|
||||
litellm_params = {
|
||||
model = "github_copilot/claude-sonnet-4";
|
||||
extra_headers = {
|
||||
"editor-version" = "vscode/1.85.1";
|
||||
"Copilot-Integration-Id" = "vscode-chat";
|
||||
"user-agent" = "GithubCopilot/1.155.0";
|
||||
"editor-plugin-version" = "copilot/1.155.0";
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
model_name = "copilot-google-gemini-2.5-pro";
|
||||
litellm_params = {
|
||||
model = "github_copilot/gemini-2.5-pro";
|
||||
extra_headers = {
|
||||
"editor-version" = "vscode/1.85.1";
|
||||
"Copilot-Integration-Id" = "vscode-chat";
|
||||
"user-agent" = "GithubCopilot/1.155.0";
|
||||
"editor-plugin-version" = "copilot/1.155.0";
|
||||
};
|
||||
};
|
||||
}
|
||||
# {
|
||||
# model_name = "copilot-google-gemini-2.0-flash";
|
||||
# litellm_params = {
|
||||
# model = "github_copilot/gemini-2.0-flash";
|
||||
# extra_headers = {
|
||||
# "editor-version" = "vscode/1.85.1";
|
||||
# "Copilot-Integration-Id" = "vscode-chat";
|
||||
# "user-agent" = "GithubCopilot/1.155.0";
|
||||
# "editor-plugin-version" = "copilot/1.155.0";
|
||||
# };
|
||||
# };
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,22 @@
|
|||
{
|
||||
upkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
declaration = "services/web-apps/trilium.nix";
|
||||
nixpkgs = inputs.open-webui-nixpkgs;
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
disabledModules = [ declaration ];
|
||||
imports = [ "${nixpkgs}/nixos/modules/${declaration}" ];
|
||||
config = {
|
||||
services.trilium-server = {
|
||||
enable = true;
|
||||
package = upkgs.trilium-server;
|
||||
package = pkgs.trilium-server;
|
||||
port = 9111;
|
||||
host = "127.0.0.1";
|
||||
dataDir = "/var/lib/trilium";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue