mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
feat: add printer stuff
This commit is contained in:
18
flake.lock
generated
18
flake.lock
generated
@@ -340,6 +340,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1706686049,
|
||||||
|
"narHash": "sha256-TCuYU/F5uuMDIBcFSm1xi2fYHt1Bit8fYPzIzB7T6HY=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "fab803d7fa7e066ff6193fe40ba29d2e322835e1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
@@ -375,7 +390,8 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixvim": "nixvim"
|
"nixvim": "nixvim",
|
||||||
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -19,6 +20,7 @@
|
|||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nur,
|
||||||
home-manager,
|
home-manager,
|
||||||
ags,
|
ags,
|
||||||
nixvim,
|
nixvim,
|
||||||
@@ -39,12 +41,14 @@
|
|||||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||||
};
|
};
|
||||||
overlays = [
|
overlays = [
|
||||||
|
nur.overlay
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
anyrunPlugins = anyrun.packages.${prev.system};
|
anyrunPlugins = anyrun.packages.${prev.system};
|
||||||
hyprland = hyprland.packages.${prev.system}.hyprland;
|
hyprland = hyprland.packages.${prev.system}.hyprland;
|
||||||
xdg-desktop-portal-hyprland = hyprland.packages.${prev.system}.xdg-desktop-portal-hyprland;
|
xdg-desktop-portal-hyprland = hyprland.packages.${prev.system}.xdg-desktop-portal-hyprland;
|
||||||
ags = ags.packages.${prev.system}.default;
|
ags = ags.packages.${prev.system}.default;
|
||||||
gbmonctl = prev.callPackage ./overlays/gbmonctl {};
|
gbmonctl = prev.callPackage ./overlays/gbmonctl {};
|
||||||
|
lpc21isp = prev.callPackage ./overlays/lpc21isp {};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|||||||
26
home/clean-home-dir.nix
Normal file
26
home/clean-home-dir.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{config, ...}: {
|
||||||
|
xdg.enable = true;
|
||||||
|
xdg.userDirs.enable = true;
|
||||||
|
home.sessionVariables = {
|
||||||
|
HISTFILE = "${config.xdg.stateHome}/bash/history";
|
||||||
|
NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/config";
|
||||||
|
NPM_CONFIG_CACHE = "${config.xdg.cacheHome}/npm";
|
||||||
|
NPM_CONFIG_TMP = "${config.xdg.stateHome}/npm";
|
||||||
|
WINEPREFIX = "${config.xdg.configHome}/wineprefixes/default";
|
||||||
|
_JAVA_OPTGRADLE_USER_HOMEIONS = ''-Djava.util.prefs.userRoot="${config.xdg.configHome}"/java'';
|
||||||
|
GRADLE_USER_HOME = "${config.xdg.configHome}/gradle";
|
||||||
|
DVDCSS_CACHE = "${config.xdg.cacheHome}/dvdcss";
|
||||||
|
DOCKER_CONFIG = "${config.xdg.configHome}/docker";
|
||||||
|
PYTHON_HISTORY = "${config.xdg.stateHome}/python/history";
|
||||||
|
PYTHONCACHEPREFIX = "${config.xdg.cacheHome}/python";
|
||||||
|
PYTHONUSERBASE = "${config.xdg.dataHome}/python";
|
||||||
|
WGETRC = "${config.xdg.configHome}/wgetrc";
|
||||||
|
XCOMPOSEFILE = "${config.xdg.configHome}/X11/xcompose";
|
||||||
|
XCOMPOSECACHE = "${config.xdg.cacheHome}/X11/xcompose";
|
||||||
|
};
|
||||||
|
gtk.gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
|
||||||
|
programs.gpg.homedir = "${config.xdg.configHome}/gnupg";
|
||||||
|
xdg.configFile.wgetrc.text = ''
|
||||||
|
hsts-file="${config.xdg.cacheHome}/wget-hsts"
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -10,16 +10,11 @@
|
|||||||
inherit username stateVersion;
|
inherit username stateVersion;
|
||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
};
|
};
|
||||||
xdg.userDirs = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = {
|
|
||||||
XDG_PROJECTS_DIR = "${home.homeDirectory}/Projects";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.ags.homeManagerModules.default
|
inputs.ags.homeManagerModules.default
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
inputs.anyrun.homeManagerModules.default
|
inputs.anyrun.homeManagerModules.default
|
||||||
|
./clean-home-dir.nix
|
||||||
./programs/neovide.nix
|
./programs/neovide.nix
|
||||||
./packages
|
./packages
|
||||||
./programs
|
./programs
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
"GBM_BACKEND,nvidia-drm"
|
"GBM_BACKEND,nvidia-drm"
|
||||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||||
"WLR_NO_HARDWARE_CURSORS,1"
|
"WLR_NO_HARDWARE_CURSORS,1"
|
||||||
|
"__GL_GSYNC_ALLOWED,0"
|
||||||
|
"__GL_VRR_ALLOWED,0"
|
||||||
"NIXOS_OZONE_WL,1"
|
"NIXOS_OZONE_WL,1"
|
||||||
# Fixes black screen on Jellyfin
|
# Fixes black screen on Jellyfin
|
||||||
# https://github.com/jellyfin/jellyfin-media-player/issues/165#issuecomment-1569842393
|
# https://github.com/jellyfin/jellyfin-media-player/issues/165#issuecomment-1569842393
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
libxcrypt
|
libxcrypt
|
||||||
|
|
||||||
# browsers
|
# browsers
|
||||||
firefox-wayland
|
|
||||||
chromium
|
chromium
|
||||||
brave
|
brave
|
||||||
|
|
||||||
@@ -60,6 +59,11 @@
|
|||||||
avalonia-ilspy
|
avalonia-ilspy
|
||||||
ghidra
|
ghidra
|
||||||
|
|
||||||
|
# 3d printing
|
||||||
|
lpc21isp
|
||||||
|
dfu-util
|
||||||
|
cura
|
||||||
|
|
||||||
# gaming
|
# gaming
|
||||||
steam
|
steam
|
||||||
oversteer
|
oversteer
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
stdenv,
|
|
||||||
fetchFromGitHub,
|
|
||||||
pkgs,
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "firefox-gnome-theme";
|
|
||||||
version = "116.0.0";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "rafaelmardojai";
|
|
||||||
repo = "firefox-gnome-theme";
|
|
||||||
sparseCheckout = ["scripts"];
|
|
||||||
rev = "v116";
|
|
||||||
sha256 = "0IS5na2WRSNWNygHhmZOcXhdrx2aFhCDQY8XVVeHf8Q=";
|
|
||||||
};
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp scripts/install-by-curl.sh $out/bin/install-firefox-gnome-theme
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -5,6 +5,8 @@
|
|||||||
git = import ./git.nix;
|
git = import ./git.nix;
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
nixvim = import ./nixvim.nix {inherit pkgs;};
|
nixvim = import ./nixvim.nix {inherit pkgs;};
|
||||||
|
firefox = import ./firefox.nix {inherit pkgs;};
|
||||||
|
gpg.enable = true;
|
||||||
btop = {
|
btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
80
home/programs/firefox.nix
Normal file
80
home/programs/firefox.nix
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
{pkgs}: {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
extraPolicies = {
|
||||||
|
CaptivePortal = false;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
DisablePocket = true;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DisableFirefoxAccounts = true;
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
OfferToSaveLogins = false;
|
||||||
|
OfferToSaveLoginsDefault = false;
|
||||||
|
PasswordManagerEnabled = false;
|
||||||
|
FirefoxHome = {
|
||||||
|
Search = true;
|
||||||
|
Pocket = false;
|
||||||
|
Snippets = false;
|
||||||
|
TopSites = true;
|
||||||
|
Highlights = false;
|
||||||
|
};
|
||||||
|
UserMessaging = {
|
||||||
|
ExtensionRecommendations = false;
|
||||||
|
SkipOnboarding = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
profiles.default = {
|
||||||
|
id = 0;
|
||||||
|
name = "default";
|
||||||
|
isDefault = true;
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
name = "Monkeytype";
|
||||||
|
url = "https://monkeytype.com/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "YouTube";
|
||||||
|
url = "https://youtube.com/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
search = {
|
||||||
|
force = true;
|
||||||
|
default = "Google";
|
||||||
|
engines = {
|
||||||
|
"Nix Packages" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@np"];
|
||||||
|
};
|
||||||
|
"NixOS Wiki" = {
|
||||||
|
urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
|
||||||
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000;
|
||||||
|
definedAliases = ["@nw"];
|
||||||
|
};
|
||||||
|
"Wikipedia (en)".metaData.alias = "@wiki";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
ublock-origin
|
||||||
|
ublacklist
|
||||||
|
sponsorblock
|
||||||
|
bitwarden
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
27
overlays/lpc21isp/default.nix
Normal file
27
overlays/lpc21isp/default.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
glibc,
|
||||||
|
lib,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "lpc21isp";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "capiman";
|
||||||
|
repo = "lpc21isp";
|
||||||
|
rev = "cf89d0b122ef02358e0f130b8f32cb804c11a54e";
|
||||||
|
hash = "sha256-BZvtJMtVyqsCPVhp/QL5cXJY8Q25T/RzYzHMutE24hk=";
|
||||||
|
};
|
||||||
|
nativeBuildInputs = [glibc.static];
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp lpc21isp $out/bin
|
||||||
|
'';
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Portable command line ISP for NXP LPC family and Analog Devices ADUC70xx";
|
||||||
|
homepage = "https://github.com/capiman/lpc21isp";
|
||||||
|
license = licenses.lgpl3Plus;
|
||||||
|
maintainers = [maintainers.theaninova];
|
||||||
|
mainProgram = "lpc21isp";
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user