initial commit. working config
This commit is contained in:
commit
9aedd27579
49
flake.lock
Normal file
49
flake.lock
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1706981411,
|
||||||
|
"narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "652fda4ca6dafeb090943422c34ae9145787af37",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "release-23.11",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701282334,
|
||||||
|
"narHash": "sha256-MxCVrXY6v4QmfTwIysjjaX0XUhqBbxTWWB4HXtDYsdk=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "057f9aecfb71c4437d2b27d3323df7f93c010b7e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
30
flake.nix
Normal file
30
flake.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# copied from https://www.chrisportela.com/posts/home-manager-flake/
|
||||||
|
{
|
||||||
|
description = "My Home Manager Flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/23.11";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-23.11";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{ nixpkgs, home-manager, ...}: {
|
||||||
|
# For `nix run .` later
|
||||||
|
defaultPackage.x86_64-linux = home-manager.defaultPackage.x86_64-linux;
|
||||||
|
defaultPackage.aarch64-linux = home-manager.defaultPackage.aarch64-linux;
|
||||||
|
|
||||||
|
homeConfigurations = {
|
||||||
|
"mir" =
|
||||||
|
# let
|
||||||
|
# specialArgs = { inherit inputs; };
|
||||||
|
# in
|
||||||
|
home-manager.lib.homeManagerConfiguration {
|
||||||
|
# Note: I am sure this could be done better with flake-utils or something
|
||||||
|
pkgs = import nixpkgs { system = "aarch64-linux"; };
|
||||||
|
modules = [ ./home.nix ]; # Defined later
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
190
home.nix
Normal file
190
home.nix
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
# { lib, config, pkgs, inputs, ... }:
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib.hm.gvariant;
|
||||||
|
{
|
||||||
|
# Home Manager needs a bit of information about you and the
|
||||||
|
# paths it should manage.
|
||||||
|
home.username = "mir";
|
||||||
|
home.homeDirectory = "/home/mir";
|
||||||
|
home.packages = [
|
||||||
|
pkgs.btop
|
||||||
|
pkgs.firefox
|
||||||
|
pkgs.killall
|
||||||
|
pkgs.gdb
|
||||||
|
pkgs.neofetch
|
||||||
|
pkgs.file
|
||||||
|
pkgs.findutils
|
||||||
|
pkgs.wget
|
||||||
|
pkgs.yt-dlp
|
||||||
|
pkgs.mpv
|
||||||
|
pkgs.fzf
|
||||||
|
pkgs.nerdfonts
|
||||||
|
pkgs.eza
|
||||||
|
# pkgs.gnupg
|
||||||
|
# pkgs.python3
|
||||||
|
# (pkgs.python3.withPackages(
|
||||||
|
# ps: with ps; [
|
||||||
|
# epc sexpdata six pynput inflect
|
||||||
|
# pyqt6
|
||||||
|
# # pyqt6-qt6
|
||||||
|
# pyqt6-sip]))
|
||||||
|
# (pkgs.emacsWithPackagesFromUsePackage {
|
||||||
|
# package = pkgs.emacs29-pgtk;
|
||||||
|
# config = ~/.emacs.d/init.el;
|
||||||
|
# extraEmacsPackages = epkgs: [
|
||||||
|
# epkgs.dash;
|
||||||
|
# ]
|
||||||
|
# })
|
||||||
|
# pkgs.fetchFromGitHub
|
||||||
|
];
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = "23.05";
|
||||||
|
# nix = {
|
||||||
|
# package = pkgs.nix;
|
||||||
|
# settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager = {
|
||||||
|
enable = true;
|
||||||
|
# version = "23.11";
|
||||||
|
};
|
||||||
|
# environment.variables = rec {
|
||||||
|
# EDITOR = "emacs -nw";
|
||||||
|
# };
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "emacs";
|
||||||
|
TERMINAL = "kitty";
|
||||||
|
TERM_PROGRAM = "kitty";
|
||||||
|
BROWSER = "firefox";
|
||||||
|
};
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
# environment.systemPackages = with pkgs; [
|
||||||
|
# (python3.withPackages(
|
||||||
|
# ps: with ps; [epc sexpdata six pynput inflect PyQt6 PyQt6-Qt6 PyQt6-sip]))
|
||||||
|
# ];
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gitFull;
|
||||||
|
userName = "mir";
|
||||||
|
userEmail = "mirmarq428@gmail.com";
|
||||||
|
extraConfig = {
|
||||||
|
credential.helper = "store";
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = ''
|
||||||
|
export EDITOR=emacs\ -nw
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
# programs.gdb = {
|
||||||
|
# enable = true;
|
||||||
|
# };
|
||||||
|
# home.file.".emacs.d" = {
|
||||||
|
# source = inputs.emacs-config;
|
||||||
|
# recursive = true;
|
||||||
|
# };
|
||||||
|
home.file.".face".source = builtins.fetchurl {
|
||||||
|
url = "https://marq42.xyz/rena.webp";
|
||||||
|
sha256 = "10x3qvfdp79fmbbi7ljnqx419xmwpiyyr4pfxhynh3xq7fd0laz2";
|
||||||
|
};
|
||||||
|
# programs.dconf.enable = true;
|
||||||
|
home.file.".local/share/backgrounds/mojave.jpg".source = builtins.fetchurl {
|
||||||
|
url = "https://www.teahub.io/photos/full/154-1542362_mac-os-mojave-screenshot.jpg";
|
||||||
|
sha256 = "0vrcn44aibdsl1hc6n0jbp0znpwhcb4hyhbzs5690i1nrapcmyka";
|
||||||
|
};
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/shell" = {
|
||||||
|
"favorite-apps" = [
|
||||||
|
"org.gnome.Console.desktop"
|
||||||
|
"firefox.desktop"
|
||||||
|
"emacs.desktop"
|
||||||
|
"org.gnome.Settings.desktop"
|
||||||
|
"org.gnome.Nautilus.desktop"
|
||||||
|
"btop.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
"color-scheme" = "prefer-dark";
|
||||||
|
};
|
||||||
|
"org/gnome/mutter" = {
|
||||||
|
"edge-tiling" = true;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/background" = {
|
||||||
|
"picture-uri" = "file:///home/mir/.local/share/backgrounds/mojave.jpg";
|
||||||
|
"picture-uri-dark" = "file:///home/mir/.local/share/backgrounds/mojave.jpg";
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/screensaver" = {
|
||||||
|
"picture-uri" = "file:///home/mir/.local/share/backgrounds/mojave.jpg";
|
||||||
|
"picture-uri-dark" = "file:///home/mir/.local/share/backgrounds/mojave.jpg";
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/input-sources" = {
|
||||||
|
"xkb-options" = [ "caps:escape" ];
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/wm/preferences" = {
|
||||||
|
"focus-mode" = "sloppy";
|
||||||
|
};
|
||||||
|
"org/gnome/settings-daemon/plugins/power" = {
|
||||||
|
"idle-dim" = false;
|
||||||
|
"sleep-inactive-ac-type" = "nothing";
|
||||||
|
};
|
||||||
|
"org/gnome/gnome-system-monitor" = {
|
||||||
|
"current-tab" = "resources";
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
"show-battery-percentage" = true;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/session" = {
|
||||||
|
"idle-delay" = mkUint32 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "genderfluid";
|
||||||
|
mode = "rgb";
|
||||||
|
color_align = {
|
||||||
|
mode = "horizontal";
|
||||||
|
};
|
||||||
|
backend = "neofetch";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gpg = {
|
||||||
|
enable = true;
|
||||||
|
# package = pkgs.gnupg.overrideAttrs (orig: {
|
||||||
|
# version = "2.4.0";
|
||||||
|
# src = pkgs.fetchurl {
|
||||||
|
# url = "mirror://gnupg/gnupg/gnupg-2.4.0.tar.bz2";
|
||||||
|
# hash = "sha256-HXkVjdAdmSQx3S4/rLif2slxJ/iXhOosthDGAPsMFIM=";
|
||||||
|
# };
|
||||||
|
# });
|
||||||
|
# agent = {
|
||||||
|
# pinentryFlavor = "gnome3";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
defaultCacheTtl = 1800;
|
||||||
|
enableSshSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user