aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.envrc4
-rw-r--r--.gitignore6
-rw-r--r--KumarDamaniCV.tex272
-rw-r--r--README.md4
-rw-r--r--flake.lock471
-rw-r--r--flake.nix38
-rw-r--r--pics/email.pngbin0 -> 277976 bytes
-rw-r--r--pics/gh.pngbin0 -> 921 bytes
-rw-r--r--pics/gl.pngbin0 -> 3092 bytes
-rw-r--r--pics/pdf.pngbin0 -> 61882 bytes
-rw-r--r--pics/phone.pngbin0 -> 38580 bytes
-rw-r--r--pics/www.pngbin0 -> 13871 bytes
-rw-r--r--pics/yt.pngbin0 -> 1074 bytes
13 files changed, 795 insertions, 0 deletions
diff --git a/.envrc b/.envrc
new file mode 100644
index 0000000..a01eb64
--- /dev/null
+++ b/.envrc
@@ -0,0 +1,4 @@
+if ! has nix_direnv_version || ! nix_direnv_version 3.0.5; then
+ source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.5/direnvrc" "sha256-RuwIS+QKFj/T9M2TFXScjBsLR6V3A17YVoEW/Q6AZ1w="
+fi
+use flake .#texlive --impure
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f3d6819
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+.devenv
+.direnv
+KumarDamaniCV.aux
+KumarDamaniCV.out
+KumarDamaniCV.pdf
+KumarDamaniCV.log
diff --git a/KumarDamaniCV.tex b/KumarDamaniCV.tex
new file mode 100644
index 0000000..538d1b6
--- /dev/null
+++ b/KumarDamaniCV.tex
@@ -0,0 +1,272 @@
+% xelatex
+\documentclass[letterpaper,
+ %twocolumn,
+ 10pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage{metalogo}
+ \usepackage{xifthen}
+\usepackage[colorlinks=true,urlcolor=Blue]{hyperref}
+\usepackage{graphicx}
+\usepackage{fontspec}
+\usepackage[T1]{fontenc}
+\usepackage[dvipsnames]{xcolor}
+\usepackage{titlesec}
+\usepackage[margin=.75in]{geometry}
+\usepackage{titling}
+\newfontfamily\cfont{Noto Sans CJK SC}
+\usepackage{libertine}
+
+% Macro to allow image links in XeLaTeX
+\ifxetex
+ \usepackage{letltxmacro}
+ \setlength{\XeTeXLinkMargin}{1pt}
+ \LetLtxMacro\SavedIncludeGraphics\includegraphics
+ \def\includegraphics#1#{% #1 catches optional stuff (star/opt. arg.)
+ \IncludeGraphicsAux{#1}%
+ }%
+ \newcommand*{\IncludeGraphicsAux}[2]{%
+ \XeTeXLinkBox{%
+ \SavedIncludeGraphics#1{#2}%
+ }%
+ }%
+\fi
+%%%%%%%
+
+% Bold contents of a link
+\let\oldhref\href
+\renewcommand{\href}[3][blue]{\oldhref{#2}{\color{#1}{#3}}}
+
+% Your name goes here:
+\author{Kumar Damani}
+
+% Update date set to last compile:
+\date{\today}
+
+\makeatletter
+
+% Custom title command.
+\renewcommand{\maketitle}{
+ \hspace{.25\textwidth}
+ \begin{minipage}[t]{.5\textwidth}
+\par{\centering{\Huge \bfseries{\theauthor}}\par}
+ \end{minipage}
+ \begin{minipage}[t]{.25\textwidth}
+{\footnotesize\hfill{}\color{gray}
+%\hfill{}Download this document:
+
+\hfill{}\href[gray]{https://kumardamani.net/files/KumarDamaniCV.pdf}{Get this doc \pdf}
+
+\hfill{}(Last updated \thedate)
+}
+ \end{minipage}
+}
+
+
+
+% Setting the font I want:
+\renewcommand{\familydefault}{\sfdefault}
+%\usepackage{sqrcaps}
+
+% Making the \entry command
+\newcommand{\entry}[5]{
+\ifthenelse{\isempty{#3}}
+{\slimentry{#1}{#2}}{
+
+\begin{minipage}[t]{.10\linewidth}
+\hfill \textsc{#1}
+\end{minipage}
+\hfill\vline\hfill
+\begin{minipage}[t]{.80\linewidth}
+ {\bf#2}\\\textit{#3}, \footnotesize{#4}\ifthenelse{\isempty{#5}}{}{\\Sample: \bf#5}
+\end{minipage}\\
+\vspace{.2cm}
+}}
+
+\newcommand{\slimentry}[2]{
+
+\begin{minipage}[t]{.15\linewidth}
+\hfill \textsc{#1}
+\end{minipage}
+\hfill\vline\hfill
+\begin{minipage}[t]{.80\linewidth}
+#2
+\end{minipage}\\
+\vspace{.25cm}
+}% end \entry command definition
+
+% Some macros because I'm lazy:
+\newcommand{\ut}{University of Toronto}
+
+% Macros for people's names including link to their websites
+\newcommand{\roger}{\href{https://vectorinstitute.ai/team/roger-grosse/}{Roger Grosse}}
+\newcommand{\dhgallery}{\href{https://www.designhotels.com/gallery}{Design Hotels Gallery Page}}
+\newcommand{\solutionsrepo}{\href{https://solutionsrepo-prod.herokuapp.com/}{Home Page}}
+\newcommand{\helpthehome}{\href{http://helpthehome-prod.herokuapp.com/}{Project Page}}
+\newcommand{\gitlab}{\href{https://gitlab.com/kdam0/projects/}{GitLab Projects}}
+\newcommand{\mysite}{\href{http://kumardamani.net}{kumardamani.net}}
+\newcommand{\tick}{\href{https://www.influxdata.com/blog/introduction-to-influxdatas-influxdb-and-tick-stack/}{TICK}}
+\newcommand{\elk}{\href{https://www.elastic.co/what-is/elk-stack}{ELK}}
+\newcommand{\meanstack}{\href{https://www.mongodb.com/mean-stack}{MEAN}}
+\newcommand{\mern}{\href{https://www.mongodb.com/mern-stack}{MERN}}
+\newcommand{\lamp}{\href{https://en.wikipedia.org/wiki/LAMP_(software_bundle)}{LAMP}}
+
+\let\lineheight\baselineskip
+
+% Link images
+\newcommand{\pdf}{\includegraphics[height=.85em]{pics/pdf.png}}
+\newcommand{\yt}{\includegraphics[height=.85em]{pics/yt.png}}
+\newcommand{\gh}{\includegraphics[height=.85em]{pics/gh.png}}
+\newcommand{\gl}{\includegraphics[height=.85em]{pics/gl.png}}
+\newcommand{\www}{\includegraphics[height=.85em]{pics/www.png}}
+\newcommand{\phone}{\includegraphics[height=.85em]{pics/phone.png}}
+\newcommand{\email}{\includegraphics[height=.85em]{pics/email.png}}
+%\newcommand{\house}{\includegraphics[height=.85em]{pics/House-3.ico}}
+
+% Custom section spacing and formatting
+\titleformat{\part}{\Huge\scshape\filcenter}{}{1em}{}
+\titleformat{\section}{\Large\bf\raggedright}{}{1em}{}[{\titlerule[2pt]}]
+%\titleformat{\section}{\Large\bf\raggedright}{}{1em}{}
+\titlespacing{\section}{0pt}{3pt}{5pt}
+\titleformat{\subsection}{\large\bfseries\centering}{}{0em}{\underline}%[\rule{3cm}{.2pt}]
+\titlespacing{\subsection}{0pt}{7pt}{7pt}
+
+% No indentation
+\setlength{\parindent}{0in}
+
+\begin{document}
+
+\maketitle
+
+\begin{minipage}{0.48\textwidth}
+\section{Basic Info}
+\begin{tabular}{rp{1\linewidth}}
+ \baselineskip=20pt
+ \email{} & \href{mailto:me@kumardamani.net}{me@kumardamani.net}\\
+ \www{} & \href{http://www.kumardamani.net}{kumardamani.net}\\
+ %\phone : &\href{(647) 707 - 8755}{(647) 707 - 8755}
+ \gl{} & \href{https://gitlab.com/users/kdam0/projects}{gitlab.com/kdam0}\\
+\end{tabular}
+
+\begin{itemize}
+% put basic skills here
+\item Proficiency in Unix based operating systems and deep appreciation of GNU/Linux core principles.
+
+\item Experience deploying high-availability systems such as databases, distributed file-systems, and Kubernetes, packaged alongside monitoring and alerting using battle-tested tooling. - all managed using Infrastructure as Code (IaC).
+
+\item Experience developing infrastructure in revenue-sensitive production environments that demand minimal-downtime changes.
+
+\item Coming from a SWE background into DevOps, I am very familiar when common pain points within Eng. teams, and how DevOps offers solutions to these problems ensuring that dev time is spent doing dev things.
+
+\item My programming background gives me in an upper-hand in the "Dev" side of things whether it involves developing custom tooling using full-stack frameworks, when off-the-shelf tooling is not enough; or writing complex scripts involving many connecting parts. Check out \href{https://kumardamani.net}{my site} for links to examples.
+
+\item Self motivated to further my skills by taking additional courses. I have done technical training for Elasticsearch, k8s, Golang (to name a few), as well as management/processes training with ITIL, and have successfully applied this knowledge in my position.
+
+\item Trusted by my team to carry out POCs (proof-of-concepts), to evaluate the value and fit of new tech.
+
+\item Successful at doing project hand-offs to Eng. teams such that teams are able to self-serve and adopt DevOps principles into their processes.
+
+\item Real world experience with on-call rotations.
+
+\end{itemize}
+
+\section{Hobbies}
+
+Self-hosting, scripting, free (libre) software, distro-hopping, learning, linguistics, nba, survivalism, cybernetics, jui-jitsu, memes.
+
+\section{References}
+
+Email me \href{mailto:me@kumardamani.net}{\email} with your interests in me and I'll refer you to someone who can vouch for me or defame me, depending on what you want.
+
+\end{minipage}%
+\hfill
+\begin{minipage}{0.48\textwidth}
+
+
+\section{Experience}
+
+\entry{Now}
+ {DevOps - IC3}
+ {Kepler Communications}
+ {Toronto}
+ {\href{https://kumardamani.net}{visit my site for more info. \www}}
+
+\entry{2020}
+ {DevOps Engineer}
+ {AcuityAds Inc.}
+ {Toronto}
+ {\href{https://kumardamani.net}{visit my site for links to samples. \www}}
+
+\entry{2019}
+ {Full Stack Engineering Lead}
+ {\ut \ - UN's Sustainable Development Goals Project}
+ {\href{https://kumardamani.net}{visit my site for more info. \www}}
+ {\helpthehome}
+
+\entry{2017}
+ {Full Stack Engineer}
+ {Achiga (formerly WebCanada)}
+ {Toronto}
+ {\dhgallery}
+
+%\entry{2016 Summer}
+% {Full Stack Developer}
+% {SolutionsRepo}
+% {Term Project}
+% {\solutionsrepo}
+
+%\section{Relevant Classes Taken}
+%
+%%\entry{2017--Now}{``Historical Linguistics''}{YouTube}{An ongoing lecture series on YouTube, originally focusing on Historical Linguistics and Linguistic Thought, but branching out to more general topics.}
+%
+%\entry{2019}
+% {CSC301 -- ``Software Engineering''}
+% {\ut}
+% {}
+% {}
+%
+%\entry{2017--2018}
+% {CSC411 -- ``Machine Learning and Data Mining''}
+% {\ut}
+% {Under \roger}
+% {}
+%
+%\entry{2018}
+% {CSC401 -- ``Natural Lang. Computing''}
+% {\ut}
+% {}
+% {}
+
+\section{Languages / Technologies I Use}
+
+\begin{tabular}{rp{0.65\linewidth}}
+ \baselineskip=20pt
+ Programming: &Python, JavaScript, Go, C, Java, PHP\\
+ Scripting: &Python, Go, Bash, R \\
+ IaC: &Ansible, Terraform, Vagrant \\
+ Networking: &Mikrotik, Unifi \\
+ Containerization: &Kubetnetes (k8s), Docker, docker-compose\\
+ CI/CD: &Gitlab, Awx, Rundeck, k8s, Bamboo, Jenkins\\
+ Monitoring: &Prometheus, InfluxDB, Elasticsearch, Grafana, Kibana \\
+ Alerting: &Grafana, Nagios, Slack/Teams, PagerDuty, Pingdom \\
+ Querying: &PromQL, InfluxQL, Query DSL, SQL\\
+ Stacks: &Django, \tick, \elk, \meanstack, \mern, \lamp\\
+ Mobile: &React-Native, Expo
+\end{tabular}
+
+
+\section{Institutions}
+
+\entry{2019}
+ {B.Sc. in Computer Science (w ``focus" in Natural Language Processing)}
+ {\ut}
+ {Toronto}
+ {}
+\entry{2021}
+ {ITIL 4 Foundation}
+ {Axelos}
+ {UK}
+ {}
+
+\end{minipage}%
+
+\end{document}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..cd7139c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,4 @@
+vim/nvim auto-generate latex build:
+```
+:au BufWritePost KumarDamaniCV.tex :silent !xelatex KumarDamaniCV.tex
+```
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..c4c9f1e
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,471 @@
+{
+ "nodes": {
+ "cachix": {
+ "inputs": {
+ "devenv": "devenv_2",
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ],
+ "pre-commit-hooks": [
+ "devenv",
+ "pre-commit-hooks"
+ ]
+ },
+ "locked": {
+ "lastModified": 1712055811,
+ "narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=",
+ "owner": "cachix",
+ "repo": "cachix",
+ "rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "cachix",
+ "type": "github"
+ }
+ },
+ "devenv": {
+ "inputs": {
+ "cachix": "cachix",
+ "flake-compat": "flake-compat_2",
+ "nix": "nix_2",
+ "nixpkgs": "nixpkgs_2",
+ "pre-commit-hooks": "pre-commit-hooks"
+ },
+ "locked": {
+ "lastModified": 1720699919,
+ "narHash": "sha256-5DNu5bWJbh3ZX6fWI4gJDsHcZlYCPSM7pWNMfoza+hA=",
+ "owner": "cachix",
+ "repo": "devenv",
+ "rev": "55106de9d798923df979e67811f8e1eda960c219",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "devenv",
+ "type": "github"
+ }
+ },
+ "devenv_2": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "cachix",
+ "flake-compat"
+ ],
+ "nix": "nix",
+ "nixpkgs": "nixpkgs",
+ "poetry2nix": "poetry2nix",
+ "pre-commit-hooks": [
+ "devenv",
+ "cachix",
+ "pre-commit-hooks"
+ ]
+ },
+ "locked": {
+ "lastModified": 1708704632,
+ "narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=",
+ "owner": "cachix",
+ "repo": "devenv",
+ "rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "python-rewrite",
+ "repo": "devenv",
+ "type": "github"
+ }
+ },
+ "flake-compat": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1673956053,
+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_2": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1696426674,
+ "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib"
+ },
+ "locked": {
+ "lastModified": 1719994518,
+ "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
+ "type": "github"
+ },
+ "original": {
+ "id": "flake-parts",
+ "type": "indirect"
+ }
+ },
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1689068808,
+ "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_2": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1710146030,
+ "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "gitignore": {
+ "inputs": {
+ "nixpkgs": [
+ "devenv",
+ "pre-commit-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "nix": {
+ "inputs": {
+ "flake-compat": "flake-compat",
+ "nixpkgs": [
+ "devenv",
+ "cachix",
+ "devenv",
+ "nixpkgs"
+ ],
+ "nixpkgs-regression": "nixpkgs-regression"
+ },
+ "locked": {
+ "lastModified": 1712911606,
+ "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
+ "owner": "domenkozar",
+ "repo": "nix",
+ "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
+ "type": "github"
+ },
+ "original": {
+ "owner": "domenkozar",
+ "ref": "devenv-2.21",
+ "repo": "nix",
+ "type": "github"
+ }
+ },
+ "nix-github-actions": {
+ "inputs": {
+ "nixpkgs": [
+ "devenv",
+ "cachix",
+ "devenv",
+ "poetry2nix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1688870561,
+ "narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
+ "owner": "nix-community",
+ "repo": "nix-github-actions",
+ "rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nix-github-actions",
+ "type": "github"
+ }
+ },
+ "nix_2": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ],
+ "nixpkgs-regression": "nixpkgs-regression_2"
+ },
+ "locked": {
+ "lastModified": 1712911606,
+ "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
+ "owner": "domenkozar",
+ "repo": "nix",
+ "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
+ "type": "github"
+ },
+ "original": {
+ "owner": "domenkozar",
+ "ref": "devenv-2.21",
+ "repo": "nix",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1692808169,
+ "narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "9201b5ff357e781bf014d0330d18555695df7ba8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib": {
+ "locked": {
+ "lastModified": 1719876945,
+ "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=",
+ "type": "tarball",
+ "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
+ },
+ "original": {
+ "type": "tarball",
+ "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz"
+ }
+ },
+ "nixpkgs-regression": {
+ "locked": {
+ "lastModified": 1643052045,
+ "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
+ "type": "github"
+ }
+ },
+ "nixpkgs-regression_2": {
+ "locked": {
+ "lastModified": 1643052045,
+ "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable": {
+ "locked": {
+ "lastModified": 1710695816,
+ "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "614b4613980a522ba49f0d194531beddbb7220d3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1713361204,
+ "narHash": "sha256-TA6EDunWTkc5FvDCqU3W2T3SFn0gRZqh6D/hJnM02MM=",
+ "owner": "cachix",
+ "repo": "devenv-nixpkgs",
+ "rev": "285676e87ad9f0ca23d8714a6ab61e7e027020c6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "rolling",
+ "repo": "devenv-nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
+ "lastModified": 1719957072,
+ "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-23.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "poetry2nix": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "nix-github-actions": "nix-github-actions",
+ "nixpkgs": [
+ "devenv",
+ "cachix",
+ "devenv",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1692876271,
+ "narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=",
+ "owner": "nix-community",
+ "repo": "poetry2nix",
+ "rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "poetry2nix",
+ "type": "github"
+ }
+ },
+ "pre-commit-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "flake-utils": "flake-utils_2",
+ "gitignore": "gitignore",
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ],
+ "nixpkgs-stable": "nixpkgs-stable"
+ },
+ "locked": {
+ "lastModified": 1713775815,
+ "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=",
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "devenv": "devenv",
+ "flake-parts": "flake-parts",
+ "nixpkgs": "nixpkgs_3"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..467615a
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,38 @@
+{
+ description = "My CV project";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
+ devenv.url = "github:cachix/devenv";
+ };
+
+ outputs = inputs@{ flake-parts, nixpkgs, ... }:
+ flake-parts.lib.mkFlake { inherit inputs; } {
+ imports = [
+ inputs.devenv.flakeModule
+ ];
+ systems = nixpkgs.lib.systems.flakeExposed;
+ perSystem = { config, self', inputs', pkgs, system, ... }: {
+
+ packages.default = pkgs.hello;
+
+ devenv.shells.texlive = {
+ packages = [ config.packages.default pkgs.noto-fonts-cjk-sans pkgs.inotify-tools pkgs.entr ];
+ languages.texlive.enable = true;
+ languages.texlive.packages = [
+ "scheme-medium"
+ "xifthen"
+ "ifmtarg"
+ "titlesec"
+ "titling"
+ "libertine"
+ "cjk"
+ "noto"
+ ];
+ enterShell = ''
+ echo this is my cv project shell.
+ '';
+ };
+ };
+ };
+}
diff --git a/pics/email.png b/pics/email.png
new file mode 100644
index 0000000..15f5a6c
--- /dev/null
+++ b/pics/email.png
Binary files differ
diff --git a/pics/gh.png b/pics/gh.png
new file mode 100644
index 0000000..7aedd7f
--- /dev/null
+++ b/pics/gh.png
Binary files differ
diff --git a/pics/gl.png b/pics/gl.png
new file mode 100644
index 0000000..dd4f77f
--- /dev/null
+++ b/pics/gl.png
Binary files differ
diff --git a/pics/pdf.png b/pics/pdf.png
new file mode 100644
index 0000000..8c195ef
--- /dev/null
+++ b/pics/pdf.png
Binary files differ
diff --git a/pics/phone.png b/pics/phone.png
new file mode 100644
index 0000000..5007d7c
--- /dev/null
+++ b/pics/phone.png
Binary files differ
diff --git a/pics/www.png b/pics/www.png
new file mode 100644
index 0000000..dded0ed
--- /dev/null
+++ b/pics/www.png
Binary files differ
diff --git a/pics/yt.png b/pics/yt.png
new file mode 100644
index 0000000..33b82b7
--- /dev/null
+++ b/pics/yt.png
Binary files differ